Managing content Activity names auto-linking The Activity names auto-linking filter is a site Filter that will create links to an activity whenever the name of the activity is written in texts within the same course in which the activity is located. This includes forum postings, pages, labels etc. Site administration settings Activity names auto-linking must be enabled by an administrator via Site administration > Plugins > Filters. This Filter can be enabled by selecting either On (where activity names will be by default auto-linked) or Off but available. Within a course, the filter settings may be changed by navigating to Course navigation > More > Filters In addition, you can apply this filter to Content or to Content and headings within a course. Please note applying filters to headings as well as content can greatly increase the load on your server. It is recommended to use the 'Apply to' settings sparingly. The main use is with the multilang filter. Using the up/down arrows in the Order column you can specify the order in which each of the enabled Filters are applied. See also Activity names autolinking not working Activity names Auto-linking Filter _target! Source: docs.moodle.org/503/en/Activity names auto-linking — MoodleDocs (GPL) · Imported 2026-11-10. Activity names auto-linking filter The Activity names auto-linking filter is a site Filter that will create links to an activity whenever the name of the activity is written in texts within the same course in which the activity is located. This includes forum postings, pages, labels etc. Site administration settings Activity names auto-linking must be enabled by an administrator via Site administration > Plugins > Filters. This Filter can be enabled by selecting either On (where activity names will be by default auto-linked) or Off but available. Within a course, the filter settings may be changed by navigating to Course navigation > More > Filters In addition, you can apply this filter to Content or to Content and headings within a course. Please note applying filters to headings as well as content can greatly increase the load on your server. It is recommended to use the 'Apply to' settings sparingly. The main use is with the multilang filter. Using the up/down arrows in the Order column you can specify the order in which each of the enabled Filters are applied. See also Activity names autolinking not working Activity names Auto-linking Filter _target! Source: docs.moodle.org/503/en/Activity names auto-linking filter — MoodleDocs (GPL) · Imported 2026-11-10. Alfresco repository Warning! The Alfresco plugin does not work with Alfresco 5.0.c or later. The Alfresco repository has been removed from the standard Moodle 3.2. The Alfresco repository enables users to link to or copy files from Alfresco into Moodle. Capabilities There is just one capability, repository/alfresco:view, which is allowed for the default authenticated user role. See also Video on Adding a file to Alfresco and copying it into Moodle 2 Integrating Moodle 2.0 with Alfresco to Manage Content for Business article REMARK: Alfresco supports WebDAV ; so yo can activate WebDAV repositories on Moodle and create an instance to Alfresco. Source: docs.moodle.org/503/en/Alfresco repository — MoodleDocs (GPL) · Imported 2026-11-10. Algebra filter This page really needs improving. Please see the page comments for suggestions of what to include, then remove this template when you're done. Note: Although the Algebra filter is included in Moodle, it is recommended that you use the MathJax filter for writing Mathematical equations and expressions. Generally Moodle has an "algebra filter" which can display mathematical expressions as if they were typeset. The filter is included in the standard Moodle packages but the administrator must activate it before you can use it. NOTE: the use of the algebra filter REQUIRES that the Moodle Tex filter also be working as the algebra filter simply parses math expressions in one syntax and then converts the expressions to LaTex expressions for the Tex filter to render and display. The filter uses a borrowed perl script The filter (see http://cvs.moodle.org/moodle/filter/algebra/ ) uses algebra2tex.pl, a perl script (and its associated perl module, AlgParser.pm) to parse text expressions delimited by double@ signs as tokens (though the tokens employed can be tweaked manually.) NOTE perl script REQUIRES Perl. This is no problem with most Linux servers, but may be the cause for malfunctions in the Win world like broken connections. Exceptions / failures are NOT catched and reported via this Moodle filter. If there is no Perl available, activate Moodle Tex (as mentioned above) and use the JAVA Math Formula Editor. It is available after activating Tex. Minor corrections in the resulting Tex code don't need deeper digging in Tex fundamentals. While many have argued that the algebra filter is easy to use, there is apparently no Moodle reference on its "grammar" or "syntax". Research in to Webworks produced these two links for using webworks text expressions (the first one is arguably replaced by the second): http://webwork.math.rochester.edu/docs/docs/pglanguage/availableFunctions.html (no longer available.) http://webwork.maa.org/wiki/Mathematical_notation_recognized_by_WeBWorK (the connection is not clear.) See http://moodle.org/mod/forum/discuss.php?d=126522&parent=554632. There is a discussion of Algebra filter syntax at http://moodle.org/mod/forum/discuss.php?d=5402 offered by Zbigniew Fiedorowicz. It appears that as of Moodle.org moving to Moodle 2 (late 2010) the Algebra filter in the forums is no longer working. It also appears that the Algebra filter does not work in Moodle Docs (which is not Moodle code, but MediaWiki, which I don't believe has a ready filter based on algebra2tex.pl. Troubleshooting The file algebradebug.php is provided in the filter folder for the purpose of debugging. Problems may arise comes from the first tags in algebradebug.php define('NO_MOODLE_COOKIES', true); // Because it interferes with caching You can delete the line or set it to false. Source: docs.moodle.org/503/en/Algebra filter — MoodleDocs (GPL) · Imported 2026-11-10. Algebra notation This page really needs improving. Please see the page comments for suggestions of what to include, then remove this template when you're done. Note: Although the Algebra filter is included in Moodle, it is recommended that you use the MathJax filter for writing Mathematical equations and expressions. Generally Moodle has an "algebra filter" which can display mathematical expressions as if they were typeset. The filter is included in the standard Moodle packages but the administrator must activate it before you can use it. NOTE: the use of the algebra filter REQUIRES that the Moodle Tex filter also be working as the algebra filter simply parses math expressions in one syntax and then converts the expressions to LaTex expressions for the Tex filter to render and display. The filter uses a borrowed perl script The filter (see http://cvs.moodle.org/moodle/filter/algebra/ ) uses algebra2tex.pl, a perl script (and its associated perl module, AlgParser.pm) to parse text expressions delimited by double@ signs as tokens (though the tokens employed can be tweaked manually.) NOTE perl script REQUIRES Perl. This is no problem with most Linux servers, but may be the cause for malfunctions in the Win world like broken connections. Exceptions / failures are NOT catched and reported via this Moodle filter. If there is no Perl available, activate Moodle Tex (as mentioned above) and use the JAVA Math Formula Editor. It is available after activating Tex. Minor corrections in the resulting Tex code don't need deeper digging in Tex fundamentals. While many have argued that the algebra filter is easy to use, there is apparently no Moodle reference on its "grammar" or "syntax". Research in to Webworks produced these two links for using webworks text expressions (the first one is arguably replaced by the second): http://webwork.math.rochester.edu/docs/docs/pglanguage/availableFunctions.html (no longer available.) http://webwork.maa.org/wiki/Mathematical_notation_recognized_by_WeBWorK (the connection is not clear.) See http://moodle.org/mod/forum/discuss.php?d=126522&parent=554632. There is a discussion of Algebra filter syntax at http://moodle.org/mod/forum/discuss.php?d=5402 offered by Zbigniew Fiedorowicz. It appears that as of Moodle.org moving to Moodle 2 (late 2010) the Algebra filter in the forums is no longer working. It also appears that the Algebra filter does not work in Moodle Docs (which is not Moodle code, but MediaWiki, which I don't believe has a ready filter based on algebra2tex.pl. Troubleshooting The file algebradebug.php is provided in the filter folder for the purpose of debugging. Problems may arise comes from the first tags in algebradebug.php define('NO_MOODLE_COOKIES', true); // Because it interferes with caching You can delete the line or set it to false. Source: docs.moodle.org/503/en/Algebra notation — MoodleDocs (GPL) · Imported 2026-11-10. Amazon S3 The Amazon S3 repository enables users to copy files from Amazon S3 into Moodle. 1 How to set up Moodle with Amazon S3 1.1 Set up Amazon S3 1.2 Enabling Amazon S3 in Moodle 2 Repository capabilities 3 See also How to set up Moodle with Amazon S3 Set up Amazon S3 You need to set up an account with Amazon Web Services and activate a Simple Storage Service (S3) instance. You will also need to set up private and public access keys so that your Moodle can be authenticated to access the files. Enabling Amazon S3 in Moodle Go to Administration > Site administration > Plugins > Repositories > Manage Repositories and enable the Amazon S3 repository. In the Amazon S3 settings, enter the access key and secret key as generated by your Amazon S3 account. Click the Save button. Optional: In Moodle 2.9 onwards you can specify an Amazon S3 endpoint. s3.amazonaws.com is for US-hosted S3 repositories; for European repositories the endpoint is s3-eu-west-1.amazonaws.com. Repository capabilities There is just one capability, View amazon s3 repository, which is allowed for the default authenticated user role. See also Using Moodle forum discussions: Streaming video files from Amazon S3 About Amazon Simple Storage Service (Amazon S3) Source: docs.moodle.org/503/en/Amazon S3 — MoodleDocs (GPL) · Imported 2026-11-10. Amazon S3 repository The Amazon S3 repository enables users to copy files from Amazon S3 into Moodle. 1 How to set up Moodle with Amazon S3 1.1 Set up Amazon S3 1.2 Enabling Amazon S3 in Moodle 2 Repository capabilities 3 See also How to set up Moodle with Amazon S3 Set up Amazon S3 You need to set up an account with Amazon Web Services and activate a Simple Storage Service (S3) instance. You will also need to set up private and public access keys so that your Moodle can be authenticated to access the files. Enabling Amazon S3 in Moodle Go to Administration > Site administration > Plugins > Repositories > Manage Repositories and enable the Amazon S3 repository. In the Amazon S3 settings, enter the access key and secret key as generated by your Amazon S3 account. Click the Save button. Optional: In Moodle 2.9 onwards you can specify an Amazon S3 endpoint. s3.amazonaws.com is for US-hosted S3 repositories; for European repositories the endpoint is s3-eu-west-1.amazonaws.com. Repository capabilities There is just one capability, View amazon s3 repository, which is allowed for the default authenticated user role. See also Using Moodle forum discussions: Streaming video files from Amazon S3 About Amazon Simple Storage Service (Amazon S3) Source: docs.moodle.org/503/en/Amazon S3 repository — MoodleDocs (GPL) · Imported 2026-11-10. Audio Audio is a very powerful tool to use in a Moodle course. Teachers and students can use audio actively, by recording short messages directly into the text editor. Teachers can also display audio so students can, for example to catch up on missed lectures, learn from podcasts, or improve their language skills by listening to native speakers interact. To use audio in Moodle to best effect, the Multimedia plugins filter must be enabled. 1 Recording short audio messages 2 Types of audio (sound) files 3 Ways of displaying audio 3.1 Linking to a sound file online elsewhere 3.2 Uploading audio 3.3 Embedding a sound file in its own player 3.3.1 Using the Moodle media icon 3.3.2 Using a hyperlink 3.3.3 Using embed code to display online audio 4 See also Recording short audio messages The Text editor allows teachers and students to record short audio messages by clicking the relevant icon. (If you don't see this setting in the editor, ask your administrator to check the RecordRTC settings.) Example uses are: Introductions in Forum posts Spoken assignments instead of typed Quiz questions where the teacher speaks the question Types of audio (sound) files The default VideoJS player will play the following audio files: mp3, .aac, .flac, .m4a, .oga, .ogg, .wav Ways of displaying audio Linking to a sound file online elsewhere If your audio file is hosted elsewhere online you can simply link to the relevant page by choosing URL from 'Add an activity or resource' and pasting in the relevant link given you by the site. Note that, in an establishment where certain sharing sites might be banned, your students might not be able to access your sound file through Moodle. Uploading audio If your browser allows resources to be dragged and dropped, then you can turn on the editing and drag the audio file directly onto the course page. A box will then appear for you to decide whether you want the audio embedded in a label, or added as a clickable file resource: Alternatively, you can upload the audio file by turning the editing on and choosing Add an activity or resource > File. Embedding a sound file in its own player Moodle includes a built-in audio player. If the relevant Multimedia plugins filter is enabled by the administrator and within the course, sound files embedded into the text editor will play inline. Using the Moodle media icon With your editing turned on, click into the HTML editor where you wish to embed your sound file. (It needs to be mp3.) Click the Multimedia icon. Drag and drop the file to upload it or add the URL of the file. Click the Browse repositories button to locate and upload your audio file from the repository where it is stored. (What you see depends on what the admin has enabled.) If you have it in more than one file type, then you can upload an alternative video by clicking 'Add alternative source'. This helps make your sound file play on more browsers and devices. Advanced settings allows you to decide how the file will play Subtitles and captions allows you to add subtitle files (VTT) in different languages and/or caption files, with descriptions, chapters and metadata. Subtitles, captions, chapters and descriptions can be added to videos and audios using WebVTT file format. These files can be created using caption making software or just plain text editor. Find out more about WebVTT format here (https://w3c.github.io/webvtt/) Click the Insert media button when you are ready. Your sound file will appear but not yet play. Once saved, your file will display in its own player: The playback rate (speed) of the audio can be changed. Using a hyperlink (Note - this method has no advantage over using the media icon, but was popular in older versions of Moodle) With your editing turned on, click into the HTML editor where you wish to embed your mp3 file. Type some blank spaces and select them. Click the hyperlink icon as in the following screenshot.(The icon will only be clickable if you have selected text or spaces) Click "Browse repositories": This takes you to the file picker. Follow the instructions for uploading/selecting your sound file as for using the Moodle media icon. When your file is chosen, it will appear in the link URL box as below. Click Create link" Don't panic! You will now only get a blue line in the HTML editor: When you click save changes to return to the main course page, your mp3 file will display. Using embed code to display online audio Some sites provide embed code/widgets that will enable you to play their mp3 files on your Moodle. First - go to your chosen site and copy this code of the mp3 file you wish to use. With your editing turned on, click into the HTML editor where you wish to embed the file. Click the HTML code icon as in the following screenshot: Paste your embed code into the box: Scroll down and click "update". The mp3 file will be previewed in the HTML editor. Click save changes for it to display on the page See also Media FAQ Speech tools Source: docs.moodle.org/503/en/Audio — MoodleDocs (GPL) · Imported 2026-11-10. Audio FAQ 1 What are the privacy options when using YouTube or Vimeo? 2 Should I put my video into a Text and media area or a page? 3 How can I get rid of the variable audio speed control? 4 My embedded youTube video doesn't display different language subtitles/playlists 5 My embedded video is too big/small. How can I change its display size? 5.1 If you're using Moodle's Multimedia plugins filter 5.2 If you're using embed code 6 Why won't my swf/FLV video play? 7 How can I convert my video file to another format? 8 I have a .wma/wav file. How can I play it in Moodle's player? 9 Videos don't embed even though the filters are enabled 10 How can I disable player embedding for one particular link? 11 Why won't my video play? 12 Can I know if my students watched my (whole) videos? What are the privacy options when using YouTube or Vimeo? From Site administration > Plugins > Media players, the YouTube and Vimeo pages have checkboxes to prevent tracking of any session data, including all cookies and analytics. For YouTube the setting is: Use no cookie domain. For Vimeo the setting is: Enable do not track Vimeo links. Should I put my video into a Text and media area or a page? While the embedding process is the same, adding a video to a Text and media area will mean it displays as soon as the user clicks on that course page. This can be beneficial if the video is, for example, an introduction to the course or an integral part of the whole course. However, if there are several videos in Text and media areas, they can slow the loading of the course down, especially if the videos are coming from an external site. Adding a video to a page in Moodle means that the user has to click a text link to reach the video, but it doesn't clutter up the main course page and it is a better choice if the course contains a large number of videos. How can I get rid of the variable audio speed control? If you don't want your learners to be able to change the speed of an audio file, use the CSS suggested in the forum post: Moodle 4 Variable audio speed control My embedded youTube video doesn't display different language subtitles/playlists This is an issue with the VideoJS player currently. A workaround is to disable the setting 'YouTube videos' in the VideoJS player settings of Site administration (ensuring the YouTube filter is enabled in Manage media players) Then copy and paste the YouTube URL directly into your editor. My embedded video is too big/small. How can I change its display size? Changing the size of an embedded video depends on whether you're using Moodle's Multimedia plugins filter or if you're either embedding a video from another source using something like an iframe (for example, embedding a video from YouTube using the embed code they provide). If you're using Moodle's Multimedia plugins filter Click the Media icon in the text editor. Click the Video tab and then click Display options. You will be able to change its size there. If you're using embed code Click the code/HTML source icon in your text editor Locate the Inside that iframe should be "width" and "height" variables, which you can adjust as needed. Click "update" in the HTML source editor screen, and save your changes. Your video should now be the new size. Why won't my swf/FLV video play? Swf and FLV files are no longer supported so you should try to display your videos in a different, more accessible format. How can I convert my video file to another format? There are many sites online that allow you to upload a file which will then be converted and sent to you via a link or email. However, if it is a large video file or you want to do the conversion off line, then the free Any Video Converter [1] (a downloadable program) will convert most video formats to most others. More and more full-featured MTS Video Converter [2] software free download a trial, to solve your problem more format conversions. The free and open source video player, VLC has the ability to convert to and from many video formats. For more details and downloads visit their site. I have a .wma/wav file. How can I play it in Moodle's player? There are various free programs available that will convert one type of sound file to another. If you convert your file to an mp3 then you will be able to use Moodle's built-in mp3 player. Jodix Free WMA to MP3 converter [3] is just one example Videos don't embed even though the filters are enabled You might need to change the order of your filters. See Filters and also the forum discussion I can't embed YouTube videos How can I disable player embedding for one particular link? If you want to prevent the embedded player and keep just the link to the video, add "nomediaplugin" class to the HTML anchor tag producing the link. For example: Link text Why won't my video play? If your video displays the error message "The media could not be loaded...", check if the video file name includes a space, and if so, replace it with a dash or underscore. Can I know if my students watched my (whole) videos? If you hosted your videos in YouTube, sign into your Google account, go to YouTube Studio, In the left panel of 'Your Chanel' choose 'Videos' and click on the icon for 'Analytics'. There you will find the number of viewers per day and the 'Audience retention'. Many students will quit watching a long, boring video. Short, interesting videos may have a higher rate of success amongs students nowadays. Source: docs.moodle.org/503/en/Audio FAQ — MoodleDocs (GPL) · Imported 2026-11-10. Audio in Moodle Audio is a very powerful tool to use in a Moodle course. Teachers and students can use audio actively, by recording short messages directly into the text editor. Teachers can also display audio so students can, for example to catch up on missed lectures, learn from podcasts, or improve their language skills by listening to native speakers interact. To use audio in Moodle to best effect, the Multimedia plugins filter must be enabled. 1 Recording short audio messages 2 Types of audio (sound) files 3 Ways of displaying audio 3.1 Linking to a sound file online elsewhere 3.2 Uploading audio 3.3 Embedding a sound file in its own player 3.3.1 Using the Moodle media icon 3.3.2 Using a hyperlink 3.3.3 Using embed code to display online audio 4 See also Recording short audio messages The Text editor allows teachers and students to record short audio messages by clicking the relevant icon. (If you don't see this setting in the editor, ask your administrator to check the RecordRTC settings.) Example uses are: Introductions in Forum posts Spoken assignments instead of typed Quiz questions where the teacher speaks the question Types of audio (sound) files The default VideoJS player will play the following audio files: mp3, .aac, .flac, .m4a, .oga, .ogg, .wav Ways of displaying audio Linking to a sound file online elsewhere If your audio file is hosted elsewhere online you can simply link to the relevant page by choosing URL from 'Add an activity or resource' and pasting in the relevant link given you by the site. Note that, in an establishment where certain sharing sites might be banned, your students might not be able to access your sound file through Moodle. Uploading audio If your browser allows resources to be dragged and dropped, then you can turn on the editing and drag the audio file directly onto the course page. A box will then appear for you to decide whether you want the audio embedded in a label, or added as a clickable file resource: Alternatively, you can upload the audio file by turning the editing on and choosing Add an activity or resource > File. Embedding a sound file in its own player Moodle includes a built-in audio player. If the relevant Multimedia plugins filter is enabled by the administrator and within the course, sound files embedded into the text editor will play inline. Using the Moodle media icon With your editing turned on, click into the HTML editor where you wish to embed your sound file. (It needs to be mp3.) Click the Multimedia icon. Drag and drop the file to upload it or add the URL of the file. Click the Browse repositories button to locate and upload your audio file from the repository where it is stored. (What you see depends on what the admin has enabled.) If you have it in more than one file type, then you can upload an alternative video by clicking 'Add alternative source'. This helps make your sound file play on more browsers and devices. Advanced settings allows you to decide how the file will play Subtitles and captions allows you to add subtitle files (VTT) in different languages and/or caption files, with descriptions, chapters and metadata. Subtitles, captions, chapters and descriptions can be added to videos and audios using WebVTT file format. These files can be created using caption making software or just plain text editor. Find out more about WebVTT format here (https://w3c.github.io/webvtt/) Click the Insert media button when you are ready. Your sound file will appear but not yet play. Once saved, your file will display in its own player: The playback rate (speed) of the audio can be changed. Using a hyperlink (Note - this method has no advantage over using the media icon, but was popular in older versions of Moodle) With your editing turned on, click into the HTML editor where you wish to embed your mp3 file. Type some blank spaces and select them. Click the hyperlink icon as in the following screenshot.(The icon will only be clickable if you have selected text or spaces) Click "Browse repositories": This takes you to the file picker. Follow the instructions for uploading/selecting your sound file as for using the Moodle media icon. When your file is chosen, it will appear in the link URL box as below. Click Create link" Don't panic! You will now only get a blue line in the HTML editor: When you click save changes to return to the main course page, your mp3 file will display. Using embed code to display online audio Some sites provide embed code/widgets that will enable you to play their mp3 files on your Moodle. First - go to your chosen site and copy this code of the mp3 file you wish to use. With your editing turned on, click into the HTML editor where you wish to embed the file. Click the HTML code icon as in the following screenshot: Paste your embed code into the box: Scroll down and click "update". The mp3 file will be previewed in the HTML editor. Click save changes for it to display on the page See also Media FAQ Speech tools Source: docs.moodle.org/503/en/Audio in Moodle — MoodleDocs (GPL) · Imported 2026-11-10. Audioconferencing Moodle has no built-in tools for speech messaging or audioconferencing. However, there are various add-ons which allow video and audio conferencing and direct recording into Moodle's text editor Big Blue Button is a popular audio/video conferencing tool available from the plugins directory. It is an open source project which supports real-time sharing of slides (including whiteboard), audio, video, chat, and desktops. It also record lectures for later playback. See Big Blue Button website for more general information. Deft response block provides a near native way to add audio conferencing to Moodle. Teachers can add buttons to the block any where blocks can be used in a course. Pressing one of the buttons allows learners to converse with each other about the Moodle activities where the block is located. A free service provides minimal networking services. User data and authentication are handled exclusively by the Moodle server where the block is installed. See deftly.us for more information. Openmeetings provides video conferencing, instant messaging, white board, collaborative document editing and other groupware tools using API functions of the Red5 Streaming Server for Remoting and Streaming. OpenMeetings is a project of the Apache. See Moodle plugin for more details. Poodll allows you to record audio into forums, pages, anywhere with a text editor. Recordings are done via the Poodll server hosted by Amazon and transferred to your Moodle site. The Poodll set of tools (filter, assignment 2.3 type, repository, question type) is available from the plugins directory. It is simple to install and doesn't require any particular PHP expertise. Poodll Read Aloud is an online testing system designed to assist teachers in evaluating their students' reading fluency as WPM(Words Correct Per Minute) scores. It features automated evaluation of students using AI and HTML5 recording via Cloud Poodll. It has no dependencies on other plugins. Source: docs.moodle.org/503/en/Audioconferencing — MoodleDocs (GPL) · Imported 2026-11-10. Auto-link Auto-linking is a feature by which words or phrases used within a Moodle site are automatically linked to glossary or database entries, or activity and resources within the course with the same name. Auto-linking can be managed at different levels: Site wide: it can be switched on/off by going to Site administration > Plugins > Filters > Manage Filters. Moodle courses: it can be managed within individual courses from Course Administration > Filters Resources & activities within a Moodle course: it can also be managed from within an activity or resource from Settings > [Activity name] Administration > Filters. This is useful for turning off auto-linking to glossaries for example in a quiz, when you don't want the answer to be revealed to the student via an auto-linked glossary term being present in a question. Specific text : Within activities and resources certain text can have the auto-linking disabled by switching to HTML view and adding ''...'' with the relevant content replacing the .... If you are using TinyMCE editor, there is a Prevent auto-linking button. For more information on auto-linking, see Activity names auto-linking Database auto-linking Glossary auto-linking See also Managing filters Source: docs.moodle.org/503/en/Auto-link — MoodleDocs (GPL) · Imported 2026-11-10. Auto-linking Auto-linking is a feature by which words or phrases used within a Moodle site are automatically linked to glossary or database entries, or activity and resources within the course with the same name. Auto-linking can be managed at different levels: Site wide: it can be switched on/off by going to Site administration > Plugins > Filters > Manage Filters. Moodle courses: it can be managed within individual courses from Course Administration > Filters Resources & activities within a Moodle course: it can also be managed from within an activity or resource from Settings > [Activity name] Administration > Filters. This is useful for turning off auto-linking to glossaries for example in a quiz, when you don't want the answer to be revealed to the student via an auto-linked glossary term being present in a question. Specific text : Within activities and resources certain text can have the auto-linking disabled by switching to HTML view and adding ''...'' with the relevant content replacing the .... If you are using TinyMCE editor, there is a Prevent auto-linking button. For more information on auto-linking, see Activity names auto-linking Database auto-linking Glossary auto-linking See also Managing filters Source: docs.moodle.org/503/en/Auto-linking — MoodleDocs (GPL) · Imported 2026-11-10. Autolink Auto-linking is a feature by which words or phrases used within a Moodle site are automatically linked to glossary or database entries, or activity and resources within the course with the same name. Auto-linking can be managed at different levels: Site wide: it can be switched on/off by going to Site administration > Plugins > Filters > Manage Filters. Moodle courses: it can be managed within individual courses from Course Administration > Filters Resources & activities within a Moodle course: it can also be managed from within an activity or resource from Settings > [Activity name] Administration > Filters. This is useful for turning off auto-linking to glossaries for example in a quiz, when you don't want the answer to be revealed to the student via an auto-linked glossary term being present in a question. Specific text : Within activities and resources certain text can have the auto-linking disabled by switching to HTML view and adding ''...'' with the relevant content replacing the .... If you are using TinyMCE editor, there is a Prevent auto-linking button. For more information on auto-linking, see Activity names auto-linking Database auto-linking Glossary auto-linking See also Managing filters Source: docs.moodle.org/503/en/Autolink — MoodleDocs (GPL) · Imported 2026-11-10. Autolinking Auto-linking is a feature by which words or phrases used within a Moodle site are automatically linked to glossary or database entries, or activity and resources within the course with the same name. Auto-linking can be managed at different levels: Site wide: it can be switched on/off by going to Site administration > Plugins > Filters > Manage Filters. Moodle courses: it can be managed within individual courses from Course Administration > Filters Resources & activities within a Moodle course: it can also be managed from within an activity or resource from Settings > [Activity name] Administration > Filters. This is useful for turning off auto-linking to glossaries for example in a quiz, when you don't want the answer to be revealed to the student via an auto-linked glossary term being present in a question. Specific text : Within activities and resources certain text can have the auto-linking disabled by switching to HTML view and adding ''...'' with the relevant content replacing the .... If you are using TinyMCE editor, there is a Prevent auto-linking button. For more information on auto-linking, see Activity names auto-linking Database auto-linking Glossary auto-linking See also Managing filters Source: docs.moodle.org/503/en/Autolinking — MoodleDocs (GPL) · Imported 2026-11-10. Box portfolio Note: The Box portfolio has been removed from new installations of Moodle 4.1. The code for the Box portfolio is currently available from the Plugins directory. Enabling the Box portfolio In order to use the Box portfolio, your Moodle site must use HTTPS. In addition, an administrator must obtain a Box client ID and secret, as described in . The client ID and secret can then be used to configure all Box plugins. Go to Administration > Site administration > Plugins > Portfolios > Manage Portfolios Activate the Box.net portfolio by selecting 'Enabled and visible' in the dropdown menu Configure each portfolio by entering the client ID and secret Save changes Sending/"pushing" your files to Box You can export items such as assignments, chat and forum posts to enabled portfolios such as Box. Click the words "export to portfolio" and then select from the dropdown Box.net (If it is the only portfolio enabled, it will be the only choice!) On the next screen, choose your sharing options and which folder to export to: Click to confirm the export: Click "Continue". If you haven't done this before you will be prompted to log in to your account. Agree and log in. The "export complete" message will appear. Clicking "continue" will take you to Box if you wish. See also for details of consequences of the Box API change Source: docs.moodle.org/503/en/Box portfolio — MoodleDocs (GPL) · Imported 2026-11-10. Box repository Note: The Box repository has been removed from new installations of Moodle 4.x. The code for theBox repository is currently available from the Plugins directory. The Box repository enables users to copy files from Box into Moodle. In order to use the Box repository, your Moodle site must use HTTPS. In addition, an administrator must obtain a Box client ID and secret. The client ID and secret can then be used to configure all Box plugins. 1 Obtaining a Box client ID and secret 2 Enabling the Box repository 3 Enabling the Box portfolio 4 Capabilities Obtaining a Box client ID and secret Go to https://app.box.com and create an account or log in Go to https://app.box.com/developers/services and click the link 'Create new application' Select 'Custom app' and click 'Next' Select 'Standard OAuth 2.0 (User Authentication)' and click 'Next' Click 'View Your App' Enter an application name Edit 'Redirect URI' on the OAuth 2.0 Redirect URI section and write http://yourmoodleserver/admin/oauth2callback.php Click 'Save Changes' button On to the section 'OAuth 2.0 Credentials' make a note of the client ID and secret The client ID and secret can then be used to configure the Box repository and Box portfolio. The client ID and secret can then be used to configure the Box repository and Box portfolio. Enabling the Box repository Go to Administration > Site administration > Plugins > Repositories > Manage Repositories Reactivate the Box.net repository by selecting 'Enabled and visible' in the dropdown menu Configure the repository plugin by entering the Box client ID and secret. Make sure you don't include any white space in the text boxes! Save changes Enabling the Box portfolio Go to Administration > Site administration > Plugins > Portfolios > Manage Portfolios Reactivate the Box.net portfolio by selecting 'Enabled and visible' in the dropdown menu Configure the portfolio plugin by entering the Box client ID and secret Save changes Capabilities There is just one capability, View box.net repository, which is allowed for the default authenticated user role. Source: docs.moodle.org/503/en/Box repository — MoodleDocs (GPL) · Imported 2026-11-10. Box.net configuration Note: The Box repository has been removed from new installations of Moodle 4.x. The code for theBox repository is currently available from the Plugins directory. The Box repository enables users to copy files from Box into Moodle. In order to use the Box repository, your Moodle site must use HTTPS. In addition, an administrator must obtain a Box client ID and secret. The client ID and secret can then be used to configure all Box plugins. 1 Obtaining a Box client ID and secret 2 Enabling the Box repository 3 Enabling the Box portfolio 4 Capabilities Obtaining a Box client ID and secret Go to https://app.box.com and create an account or log in Go to https://app.box.com/developers/services and click the link 'Create new application' Select 'Custom app' and click 'Next' Select 'Standard OAuth 2.0 (User Authentication)' and click 'Next' Click 'View Your App' Enter an application name Edit 'Redirect URI' on the OAuth 2.0 Redirect URI section and write http://yourmoodleserver/admin/oauth2callback.php Click 'Save Changes' button On to the section 'OAuth 2.0 Credentials' make a note of the client ID and secret The client ID and secret can then be used to configure the Box repository and Box portfolio. The client ID and secret can then be used to configure the Box repository and Box portfolio. Enabling the Box repository Go to Administration > Site administration > Plugins > Repositories > Manage Repositories Reactivate the Box.net repository by selecting 'Enabled and visible' in the dropdown menu Configure the repository plugin by entering the Box client ID and secret. Make sure you don't include any white space in the text boxes! Save changes Enabling the Box portfolio Go to Administration > Site administration > Plugins > Portfolios > Manage Portfolios Reactivate the Box.net portfolio by selecting 'Enabled and visible' in the dropdown menu Configure the portfolio plugin by entering the Box client ID and secret Save changes Capabilities There is just one capability, View box.net repository, which is allowed for the default authenticated user role. Source: docs.moodle.org/503/en/Box.net configuration — MoodleDocs (GPL) · Imported 2026-11-10. Box.net portfolio Note: The Box portfolio has been removed from new installations of Moodle 4.1. The code for the Box portfolio is currently available from the Plugins directory. Enabling the Box portfolio In order to use the Box portfolio, your Moodle site must use HTTPS. In addition, an administrator must obtain a Box client ID and secret, as described in . The client ID and secret can then be used to configure all Box plugins. Go to Administration > Site administration > Plugins > Portfolios > Manage Portfolios Activate the Box.net portfolio by selecting 'Enabled and visible' in the dropdown menu Configure each portfolio by entering the client ID and secret Save changes Sending/"pushing" your files to Box You can export items such as assignments, chat and forum posts to enabled portfolios such as Box. Click the words "export to portfolio" and then select from the dropdown Box.net (If it is the only portfolio enabled, it will be the only choice!) On the next screen, choose your sharing options and which folder to export to: Click to confirm the export: Click "Continue". If you haven't done this before you will be prompted to log in to your account. Agree and log in. The "export complete" message will appear. Clicking "continue" will take you to Box if you wish. See also for details of consequences of the Box API change Source: docs.moodle.org/503/en/Box.net portfolio — MoodleDocs (GPL) · Imported 2026-11-10. Box.net portfolio plugin Note: The Box portfolio has been removed from new installations of Moodle 4.1. The code for the Box portfolio is currently available from the Plugins directory. Enabling the Box portfolio In order to use the Box portfolio, your Moodle site must use HTTPS. In addition, an administrator must obtain a Box client ID and secret, as described in . The client ID and secret can then be used to configure all Box plugins. Go to Administration > Site administration > Plugins > Portfolios > Manage Portfolios Activate the Box.net portfolio by selecting 'Enabled and visible' in the dropdown menu Configure each portfolio by entering the client ID and secret Save changes Sending/"pushing" your files to Box You can export items such as assignments, chat and forum posts to enabled portfolios such as Box. Click the words "export to portfolio" and then select from the dropdown Box.net (If it is the only portfolio enabled, it will be the only choice!) On the next screen, choose your sharing options and which folder to export to: Click to confirm the export: Click "Continue". If you haven't done this before you will be prompted to log in to your account. Agree and log in. The "export complete" message will appear. Clicking "continue" will take you to Box if you wish. See also for details of consequences of the Box API change Source: docs.moodle.org/503/en/Box.net portfolio plugin — MoodleDocs (GPL) · Imported 2026-11-10. Box.net repository Note: The Box repository has been removed from new installations of Moodle 4.x. The code for theBox repository is currently available from the Plugins directory. The Box repository enables users to copy files from Box into Moodle. In order to use the Box repository, your Moodle site must use HTTPS. In addition, an administrator must obtain a Box client ID and secret. The client ID and secret can then be used to configure all Box plugins. 1 Obtaining a Box client ID and secret 2 Enabling the Box repository 3 Enabling the Box portfolio 4 Capabilities Obtaining a Box client ID and secret Go to https://app.box.com and create an account or log in Go to https://app.box.com/developers/services and click the link 'Create new application' Select 'Custom app' and click 'Next' Select 'Standard OAuth 2.0 (User Authentication)' and click 'Next' Click 'View Your App' Enter an application name Edit 'Redirect URI' on the OAuth 2.0 Redirect URI section and write http://yourmoodleserver/admin/oauth2callback.php Click 'Save Changes' button On to the section 'OAuth 2.0 Credentials' make a note of the client ID and secret The client ID and secret can then be used to configure the Box repository and Box portfolio. The client ID and secret can then be used to configure the Box repository and Box portfolio. Enabling the Box repository Go to Administration > Site administration > Plugins > Repositories > Manage Repositories Reactivate the Box.net repository by selecting 'Enabled and visible' in the dropdown menu Configure the repository plugin by entering the Box client ID and secret. Make sure you don't include any white space in the text boxes! Save changes Enabling the Box portfolio Go to Administration > Site administration > Plugins > Portfolios > Manage Portfolios Reactivate the Box.net portfolio by selecting 'Enabled and visible' in the dropdown menu Configure the portfolio plugin by entering the Box client ID and secret Save changes Capabilities There is just one capability, View box.net repository, which is allowed for the default authenticated user role. Source: docs.moodle.org/503/en/Box.net repository — MoodleDocs (GPL) · Imported 2026-11-10. Box.net repository configuration Note: The Box repository has been removed from new installations of Moodle 4.x. The code for theBox repository is currently available from the Plugins directory. The Box repository enables users to copy files from Box into Moodle. In order to use the Box repository, your Moodle site must use HTTPS. In addition, an administrator must obtain a Box client ID and secret. The client ID and secret can then be used to configure all Box plugins. 1 Obtaining a Box client ID and secret 2 Enabling the Box repository 3 Enabling the Box portfolio 4 Capabilities Obtaining a Box client ID and secret Go to https://app.box.com and create an account or log in Go to https://app.box.com/developers/services and click the link 'Create new application' Select 'Custom app' and click 'Next' Select 'Standard OAuth 2.0 (User Authentication)' and click 'Next' Click 'View Your App' Enter an application name Edit 'Redirect URI' on the OAuth 2.0 Redirect URI section and write http://yourmoodleserver/admin/oauth2callback.php Click 'Save Changes' button On to the section 'OAuth 2.0 Credentials' make a note of the client ID and secret The client ID and secret can then be used to configure the Box repository and Box portfolio. The client ID and secret can then be used to configure the Box repository and Box portfolio. Enabling the Box repository Go to Administration > Site administration > Plugins > Repositories > Manage Repositories Reactivate the Box.net repository by selecting 'Enabled and visible' in the dropdown menu Configure the repository plugin by entering the Box client ID and secret. Make sure you don't include any white space in the text boxes! Save changes Enabling the Box portfolio Go to Administration > Site administration > Plugins > Portfolios > Manage Portfolios Reactivate the Box.net portfolio by selecting 'Enabled and visible' in the dropdown menu Configure the portfolio plugin by entering the Box client ID and secret Save changes Capabilities There is just one capability, View box.net repository, which is allowed for the default authenticated user role. Source: docs.moodle.org/503/en/Box.net repository configuration — MoodleDocs (GPL) · Imported 2026-11-10. Chemistry notation using mhchem The mhchem pack­age pro­vides com­mands for type­set­ting chem­i­cal molec­u­lar for­mu­lae and equa­tions. 1 Why mhchem? 2 Installation 2.1 via MathJax 2.2 via LaTeX 2.3 Atto Chemistry editor plugin 3 Basics 3.1 Amounts 3.2 Isotopes 3.3 Fonts 3.4 Special Symbols 3.5 Bonds 3.6 Using Math 4 Formulae 4.1 Reaction Arrows 4.2 Precipitate and Gas 4.3 Watch Out! 4.4 Further Examples 5 Further information Why mhchem? It is possible to display chemical formulae and equations using TeX mathematics mode. However, it is rather cumbersome for a range or reasons. Different display conventions: uppercase letters are displayed in italics for mathematics, whereas element symbols are upright for chemistry. The complexities of supercript and subscript notation, ions and isotopes. Bonds, equilibrium reaction arrows etc. The mhchem extension allows a more adaptable display and more natural input of chemical formulae and equations. In Moodle, mhchem syntax can use text input directly into an HTML editor (TinyMCE or Atto) or by an Atto chemistry plugin (similar to the Atto equation plugin). This is particularly useful for documenting isotopes, relative atomic and relative molecular mass, empirical and molecular formulae, balanced equations (full and ionic), equilibrium reactions and themodynamics. For more complex structural and displayed formulae (e.g. organic chemistry), homologous series and functional groups, you may also wish to consider a 'drawing' plugin such as the MarvinJS-based Chemical structures and reaction editor Installation The mhchem package can be integrated with Moodle in one of two ways. The first, via MathJax is the simplest to set up and provides high quality rendering. However, MathJax rendering depends on client-side JavaScript processing by the browser and may be subject to significant delay, e.g. on some platforms (especially mobile) or for particularly complex maths/science expressions. Also, there may be conflicts between MathJax and other JavaScript libraries (e.g. in some third-party Moodle plugins). In these cases, it may be advantageous to use the server-side TeX filter. After initial loading the TeX filter-generated images are cached, and so quick to display. The TeX filter typically generates lower quality display (MathJax > SVG > PNG > GIF), though the new SVG output option in Moodle 2.8 approaches the quality of MathJax. In Moodle 2.8, it is possible to 'have the best of both worlds' by enabling the TeX and MathJax filters in parallel such that the TeX filter (particularly with SVG rendering) provides a fallback for MathJax, and vice versa. via MathJax MathJax has become the de facto standard for displaying mathematics on the Web and since version 2.7 Moodle has a built-in MathJax loader filter. However, mhchem still needs to be added to the MathJax configuration. In Administration > Site administration > Plugins > Filters > Mathjax > Local Mathjax installation, edit the Mathjax configuration to include mhchem.js in the TeX extensions: TeX: {extensions: ["AMSmath.js","AMSsymbols.js","mhchem.js","noErrors.js","noUndefined.js"]}, For Moodle 2.6 and earlier, MathJax, together with the mhchem extension, can be added to the site HEAD section in: Administration > Site administration > Appearance > Additional HTML > Within HEAD via LaTeX It is also possible to add mhchem alongside LaTex on the Moodle server, and then use the Moodle TeX filter. You will need to install and configure the following binaries on the Moodle server. latex dvips and either dvisvg for SVG rendering (Moodle 2.8 and later) or convert for PNG/GIF rendering (Moodle 2.7 and earlier) mhchem Installation details will depend on the server operating system. Most Linux distributions can use their standard package manager to install the binaries and dependencies. e.g. For Fedora 20, mhchem can be installed with: yum install texlive-mhchem. Alternatively, you can use an appropriate LaTeX installation bundle, including mhchem, for Linux, Windows or Macintosh servers. Once installed, in your Moodle Administration > Site administration > Plugins > Filters > TeX notation > LaTeX renderer Settings, add the following to the existing LaTeX preamble: \usepackage{mhchem} to give the following (or similar) preamble: \usepackage[latin1]{inputenc} \usepackage{amsmath} \usepackage{amsfonts} \usepackage{mhchem} \RequirePackage{amsmath,amssymb,latexsym} Atto Chemistry editor plugin Once the TeX and/or MathJax loader filters are configured to use mhchem, and enabled, mhchem expressions can be directly typed into Moodle using the built-in (TinyMCE or Atto) text editors, as detailed in subsequent sections. However, the Atto Chemistry editor plugin may also be convenient for users. This automatically wraps expressions within the required delimiters (e.g. \(\ce{...}\) and provides a set of tabbed toolbars and buttons for commonly used symbols, isotope format, reaction and equilibrium arrows etc. Element symbol buttons are arranged in a periodic table layout. It also incorporates some 'standard' TeX symbols (e.g greek and italic characters) that may be useful in a chemistry context. Not quite a WYSIWYG chemistry editor, though still can simplify the construction of chemical equations and also act as a coding environment and aide-memoire for mhchem syntax. Basics Note that mhchem is not currently installed in this documentation wiki. Therefore, the chemical display of chemical formulae and equations is simulated and may not exactly correspond to rendering using mhchem, which is usually nicer!. The default TeX delimiters are \[...\] or $$...$$ for displayed mathematics, and \(...\) for in-line mathematics. For mhchem the additional delimiter \ce{...} is required inside the mathematics delimeters i.e . \[\ce{...}\] or $$\ce{...}$$ for displayed chemical formulae, and \(\ce{...}\) for in-line chemical formulae. In the rest of this document the TeX delimiters are not explicitly shown. H 2 O {\displaystyle \mathrm {H_{2}O} } \ce{ H2O } S b 2 O 3 {\displaystyle \mathrm {Sb_{2}O_{3}} } \ce{ Sb2O3 } H + {\displaystyle \mathrm {H^{+}} } \ce{ H+ } C r O 4 2 − {\displaystyle \mathrm {CrO_{4}^{2-}} } \ce{ CrO4^2- } A g C l 2 − {\displaystyle \mathrm {AgCl_{2}^{-}} } \ce{ AgCl2- } [ A g C l 2 ] − {\displaystyle \mathrm {[AgCl_{2}]^{-}} } \ce{ [AgCl2]- } Y 99 + {\displaystyle \mathrm {Y^{99+}} } \ce{ Y^{99}+ } H 2 ( a q ) {\displaystyle \mathrm {H_{2}(aq)} } \ce{ H2_{(aq)} } N O 3 − {\displaystyle \mathrm {NO_{3}^{-}} } \ce{ NO3- } ( N H 4 ) 2 S {\displaystyle \mathrm {(NH_{4})_{2}S} } \ce{ (NH4)2S } Amounts Place amounts directly in front of a formula. A small space will be inserted automatically. 2 H 2 O {\displaystyle \mathrm {2H_{2}O} } \ce{ 2H2O } 1 2 H 2 O {\displaystyle \mathrm {{\frac {\scriptstyle {1}}{\scriptstyle {2}}}H_{2}O} } \ce{ 1/2H2O } Isotopes 90 227 T h + {\displaystyle \mathrm {{}_{90}^{227}Th^{+}} } \ce{ ^{227}_{90}Th+ } Although the above syntax works in most contexts, occasionally a leading pair of braces may be required \ce{ {}^{227}_{90}Th+ } Fonts When you are in a math environment (e.g. opened and closed with a \[...\], \(...)\ or $$...$$), you could simply use \ce to set content in an upright font. Remember: all variables—like V for volume—are set using an italic font, physical units and chemical elements are set using an upright font. V H 2 O {\displaystyle {\mathit {V}}\mathrm {_{H_{2}O}} } $V_{\ce{H2O}}$ When used in text mode, \ce adapts to the current text font. You could simply write a formula in one of your section titles it would be set with the correct, no matter where is appears (sectiontitle, header, contents, references, ...). H 2 O {\displaystyle \mathrm {H_{2}O} } , H 2 O {\displaystyle \mathrm {H_{2}O} } \ce{ H2O }, $\ce{H2O}$ C e I V {\displaystyle \mathrm {Ce^{IV}} } \ce{ Ce^{IV} } There are some special cases. A negative charge (-) in text mode is replaced with a dash (–), because a text minus sign often is too short. All ‘operators’, e.g. ‘+’ and reaction arrows, are always taken from the math font. Special Symbols K C r ( S O 4 ) 2 ⋅ 12 H 2 O {\displaystyle \mathrm {KCr(SO_{4})_{2}\cdot 12H_{2}O} } \ce{ KCr(SO4)2*12H2O } K C r ( S O 4 ) 2 ⋅ 12 H 2 O {\displaystyle \mathrm {KCr(SO_{4})_{2}\cdot 12H_{2}O} } \ce{ KCr(SO4)2.12H2O } [ C d { S C ( N H 2 ) 2 } 2 ] ⋅ [ C r ( S C N ) 4 ( N H 3 ) 2 ] 2 {\displaystyle \mathrm {[Cd\{SC(NH_{2})_{2}\}_{2}]\cdot [Cr(SCN)_{4}(NH_{3})_{2}]_{2}} } \ce{ [Cd\{SC(NH2)2\}2].[Cr(SCN)4(NH3)2]2 } R N O 2 − . {\displaystyle \mathrm {RNO_{2}^{-.}} } , R N O 2 − . {\displaystyle \mathrm {RNO_{2}^{-.}} } $\ce{ RNO2^{-.}}$, \ce{RNO2^{-.} } μ − C l {\displaystyle \mu \!-\!\mathrm {Cl} } \ce{ $\mu\hyphen$Cl } Bonds Horizontal bonds can be set using the characters -, = and # (single, double, triple bond) inside a formula (a - at the end of a formula yields a negative charge). C 6 H 5 − C H O {\displaystyle \mathrm {C_{6}H_{5}\!-\!CHO} } \ce{ C6H5-CHO } X = Y ≡ Z {\displaystyle \mathrm {X\!=\!Y\!\equiv \!Z} } \ce{ X=Y#Z } A − B = C ≡ D {\displaystyle \mathrm {A\!-\!B\!=\!C\!\equiv \!D} } \ce{ A\sbond B\dbond C\tbond D } Different books visualise bonds in extremely different ways. Currently, the minus sign from the math font is used to display the bonds (even in text mode). The bonds are vertically aligned on the math axis. For most math fonts, this is lower than half the height of a capital letter. The \bond command allows you to typeset some types of special bonds. A − B = C ≡ D {\displaystyle \mathrm {A\!-\!B\!=\!C\!\equiv \!D} } \ce{ A\bond{-}B\bond{=}C\bond{#}D } A ∼ B ≃ C {\displaystyle \mathrm {A\!\sim \!B\!\simeq \!C} } \ce{ A\bond{~}B\bond{~-}C } A ≅ B ≅ C ≅ D {\displaystyle \mathrm {A\!\cong \!B\!\cong \!C\!\cong \!D} } \ce{ A\bond{~=}B\bond{~--}C\bond{-~-}D } A ⋯ B ⋅ ⋯ C {\displaystyle \mathrm {A\!\cdots \!B\!\cdot \cdots \!C} } \ce{ A\bond{...}B\bond{....}C } A → B ← C {\displaystyle \mathrm {A\!\rightarrow \!B\!\leftarrow \!C} } \ce{ A\bond{->}B\bond{<-}C } Using Math To use math commands inside \ce{...}, one can enclose the commands with $. F e ( C N ) 6 2 {\displaystyle \mathrm {Fe(CN)_{\frac {6}{2}}} } \ce{ Fe(CN)_{$\frac{6}{2}$} } x N a ( N H 4 ) H P O 4 → Δ ( N a P O 3 ) x + x N H 3 ↑ + x H 2 O {\displaystyle \mathrm {{\mathit {x}}Na(NH_{4})HPO_{4}{\overset {\Delta }{\rightarrow }}(NaPO_{3})_{\mathit {x}}+{\mathit {x}}NH_{3}\uparrow +{\mathit {x}}H_{2}O} } \ce{ $x\,$ Na(NH4)HPO4 ->[\Delta](NaPO3)_{$x$} + $x\,$ NH3 ^ + $x\,$ H2O } C H 4 ( g ) + 2 O 2 ( g ) → C O 2 ( g ) + 2 H 2 O ( l ) Δ H c ⊖ = − 890.3 k J m o l − 1 {\displaystyle \mathrm {CH_{4}(g)+2O_{2}(g)\rightarrow CO_{2}(g)+2H_{2}O(l)} \quad \Delta H_{\mathrm {c} }^{\ominus }=-890.3\;\mathrm {kJ} \;\mathrm {mol} ^{-1}} \ce{ CH_4(g) + 2O_2(g) -> CO_2(g) + 2H_2O(l) $\quad \Delta H_\ce{c}^{\ominus} = -890.3 \;$ kJ $\;$ mol^{-1} } Formulae Reaction Arrows C O 2 + C → 2 C O {\displaystyle \mathrm {CO_{2}+C\rightarrow 2CO} } \ce{ CO2 + C -> 2CO } C O 2 + C ← 2 C O {\displaystyle \mathrm {CO_{2}+C\leftarrow 2CO} } \ce{ CO2 + C <- 2CO } C O 2 + C ⇌ 2 C O {\displaystyle \mathrm {CO_{2}+C\rightleftharpoons 2CO} } \ce{ CO2 + C <=> 2CO } H + + O H − ↽ − − − ⇀ H 2 O {\displaystyle \mathrm {H^{+}+OH^{-}{\overset {-\!-\!-\!\rightharpoonup }{\quad \scriptstyle {\leftharpoondown }\quad }}H_{2}O} } \ce{ H+ + OH- <=>> H2O } A ↔ A ′ {\displaystyle A\leftrightarrow A'} \ce{ $A$ <-> $A’$ } C O 2 + C → α 2 C O {\displaystyle \mathrm {CO_{2}+C\;{\overset {\alpha }{\rightarrow }}\;2CO} } \ce{ CO2 + C ->[\alpha] 2CO } C O 2 + C → α β 2 C O {\displaystyle \mathrm {CO_{2}+C\;{\underset {\beta }{\overset {\alpha }{\rightarrow }}}\;2CO} } \ce{ CO2 + C ->[\alpha][\beta] 2CO } As with ^ and _, the content above and below reaction arrows is set in math font. When you want to put descriptive text there, use the \text command. Or, as a shortcut, you could type a ‘T’ between reaction arrow and opening bracket. C O 2 + C − ⟶ a b o v e 2 C O {\displaystyle \mathrm {CO_{2}+C\;{\overset {above}{-\!\!\!\longrightarrow }}\;2CO} } \ce{ CO2 + C ->[\text{above}] 2CO } C O 2 + C − ⟶ a b o v e b e l o w 2 C O {\displaystyle \mathrm {CO_{2}+C\;{\underset {below}{\overset {above}{-\!\!\!\longrightarrow }}}\;2CO} } \ce{ CO2 + C ->[\text{above}][\text{below}] 2CO } C O 2 + C − ⟶ a b o v e b e l o w 2 C O {\displaystyle \mathrm {CO_{2}+C\;{\underset {below}{\overset {above}{-\!\!\!\longrightarrow }}}\;2CO} } \ce{ CO2 + C ->T[above][below] 2CO } Similarly, there is a shortcut for using \ce with reaction arrows: A ⟶ H 2 O B {\displaystyle A\;\mathrm {\overset {H_{2}O}{\longrightarrow }} \;B} \ce{ $A$ ->[\ce{+H2O} ] $B$} A ⟶ H 2 O B {\displaystyle A\;\mathrm {\overset {H_{2}O}{\longrightarrow }} \;B} \ce{ $A$ ->C[+H2O] $B$ } Precipitate and Gas Use v or (v) for precipitate (arrow down) and ^ or (^) for gas (arrow up), both separated by spaces. S O 4 2 − + B a 2 + → B a S O 4 ↓ {\displaystyle \mathrm {SO_{4}^{2-}+Ba^{2+}\rightarrow BaSO_{4}\downarrow } } \ce{ SO4^2- + Ba^2+ -> BaSO4 v } Watch Out! Please be aware that you sometimes have to enclose spaces in braces. In particular, you have to do so, when they appear between brackets that belong to an reaction arrow. A ⟵ − − − − ⟶ Enclose spaces! A ′ {\displaystyle A\mathrm {\overset {\text{Enclose spaces!}}{\longleftarrow \!\!\!-\!\!\!-\!\!\!-\!\!\!-\!\!\!\longrightarrow }} A'} \ce{ $A$ <->T[{Enclose spaces!}] $A’$ } Further Examples Z n 2 + ⇌ + 2 O H − + 2 H + Z n ( O H ) 2 ↓ amphoteric hydroxide ⇌ + 2 O H − + 2 H + [ Z n ( O H ) 4 ] 2 − tetrahydroxozincate {\displaystyle \mathrm {Zn^{2+}{\underset {+2H^{+}}{\overset {+2OH^{-}}{\rightleftharpoons }}}{\underset {\text{amphoteric hydroxide}}{Zn(OH)_{2}\downarrow }}{\underset {+2H^{+}}{\overset {+2OH^{-}}{\rightleftharpoons }}}{\underset {\text{tetrahydroxozincate}}{[Zn(OH)_{4}]^{2-}}}} } \ce{ Zn^2+ <=>[\ce{+ 2OH-}][\ce{+ 2H+}]$\underset{\text{amphoteric hydroxide}}{\ce{Zn(OH)2 v}}$<=>C[+2OH-][{+ 2H+}]$\underset{\text{tetrahydroxozincate}}{\cf{[Zn(OH)4]^2-}}$ } K = [ H g 2 + ] [ H g ] [ H g 2 2 + ] {\displaystyle K=\mathrm {\frac {[Hg^{2+}][Hg]}{[Hg_{2}^{2+}]}} } $K = \frac{[\ce{Hg^2+}][\ce{Hg}]}{[\ce{Hg2^2+}]}$ H g 2 + → I − H g I 2 red → I − [ H g I I I 4 ] 2 − red {\displaystyle \mathrm {Hg^{2+}\;{\overset {I^{-}}{\rightarrow }}\;{\underset {\text{red}}{HgI_{2}}}\;{\overset {I^{-}}{\rightarrow }}\;{\underset {\text{red}}{[Hg^{II}I_{4}]^{2-}}}} } \ce{ Hg^2+ ->[\ce{I-}]$\underset{\mathrm{red}}{\ce{HgI2}}$->C[I-]$\underset{\mathrm{red}}{\ce{[Hg^{II}I4]^2-}}$ } Further information The mhchem package mhchem manual MathJax and mhchem Source: docs.moodle.org/503/en/Chemistry notation using mhchem — MoodleDocs (GPL) · Imported 2026-11-10. Code highlighter filter The code highlighter filter adds colour to code in the TinyMCE editor. Enabling the code highlighter filter If enabled, a teacher can turn the filter on (or off) in the course or a particular activity from Course navigation > More > Filters. Site administration settings An administrator must enable the code highlighter filter in Site administration > Plugins > Filters. See Managing filters for more details. See also TinyMCE editor Source: docs.moodle.org/503/en/Code highlighter filter — MoodleDocs (GPL) · Imported 2026-11-10. Common filter settings Filters can be used to add links, insert multimedia players, convert Mathematical expressions or emoticons into images and more. A filter may be enabled at the site level and then removed as needed at the course or activity level. Thus a teacher can disable glossary auto-linking in a quiz for example. Load video YouTube YouTube might collect personal data. Privacy Policy Overview of course filters Standard filters Filters in Moodle include: Activity names auto-linking - Scans course text for activity titles that exist in the same course and creates a link to them Algebra notation - Convert algebra code into images Code highlighter filter - adds colour to code in the TinyMCE editor. Convert URLs into links and images - Converts URLs in selected formats, such as Moodle auto-format, to click-able links Database auto-linking - Enables automatic linking of course Database activity entries Display emoticons as images - Converts textual emoticon (smiley) characters into images Email protection - Obfuscates email address links to make them more difficult for spammers to harvest Glossary auto-linking - Scans text for glossary entries that exist in the same course and creates a link MathJax - For adding mathematical equations and expressions using an equation editor Multimedia plugins - Converts HTML links in text that points to a multimedia resource and replaces the link with an appropriate multimedia players Multi-Language content - Enables resources to be created in multiple languages TeX notation Displaying math formulae in TeX notation using images Word censorship - This filter "blacks out" words found on a list you can manage Contributed filters Filters have also been made by developers in the community. Some docs online for these include: FontAwesome - This scans text for icons that can be embedded using the FontAwesome icon set. IPA - Renders simple X-SAMPA markup in the International Phonetic Alphabet PoodLL - is the core PoodLL plugin for Moodle. It contains all the recorders, widgets and the code that makes it possible to use them around Moodle. It is a required component for all the other PoodLL plugins. filter generico - gives you considerable ability to customize your Moodle site without having to resort to multiple plugins, or custom PHP coding filter multiembed - Facilitates embedding of third-party content from a growing list of service providers (e.g. Prezi, Haiku Deck, etc.) See also Managing filters Common filter settings for the site Filters FAQ Source: docs.moodle.org/503/en/Common filter settings — MoodleDocs (GPL) · Imported 2026-11-10. Content bank 1 What is the content bank? 2 Where is the content bank? 3 How does the content bank work? 4 H5P options 5 Content bank custom fields 6 Searching the content bank 7 Viewing unlisted content in the content bank 8 Restoring a course with a content bank 9 Admin settings 10 Capabilities 10.1 Repository: Content bank 10.2 Course 10.3 H5P What is the content bank? The content bank is an area in Moodle where content (currently H5P content) may be stored, edited and created. The content bank repository gives access to these files from the file picker. Content bank Where is the content bank? As a teacher, when you are in a course you'll find a link to the content bank from Course navigation > More (Boost-based themes) or under Site pages (Classic-based themes). Files may be viewed in list view by clicking the icon top right of the content bank. The content bank repository is available from the file picker to locate and add H5P files into courses. How does the content bank work? New H5P content may be created via the Add button. It can be edited by clicking into the content then clicking Edit: Editing existing H5P H5P activities can also be uploaded into the content bank then edited if required. H5P activity types available in the content back are automatically downloaded via CRON or can manually be added by uploading h5p activity files (*.h5p). H5P options Click into an H5P activity and from the More dropdown, access the option you want: Click on More and select Copy content to make a copy of an activity which you can then edit. Content bank custom fields If your admin has created a content bank custom field from Site administration > Plugins > Content bank > Content bank custom fields, this will be available when creating or editing an H5P file. Searching the content bank The search field above the content bank allows you to search for H5P content in the course you are in. When adding an H5P activity from Add an activity or resource > H5P, you can search the content bank for H5P in other courses and categories, depending on permissions. Searching the content bank Viewing unlisted content in the content bank Teachers can make their own content listed or unlisted from the dropdown and can view their own unlisted content. Only those with the capability View unlisted content from the content bank repository can view all unlisted content both in the content bank and file picker. Those with the capability View unlisted content from the content bank repository can check/uncheck a box to hide or show unlisted content. Restoring a course with a content bank When restoring a course, the content bank contents are also restored to the new course. Please keep in mind that the user who restores the course will be the owner of the content bank contents in the new course, and this will affect who can edit or delete the contents based on the Delete any content from the content bank and Manage any content from the content bank capabilities. Admin settings From Site administration > Plugins > Content bank > Manage content types, you can enable and disable H5P content. From Site administration > Plugins > Content bank > Content bank custom fields you can create custom fields for teachers to use when creating and editing an H5P file. From Site administration > Repositories > Content bank you can rename the content bank repository if desired. Capabilities Repository: Content bank Access course category content bank files - allowed for the default roles of manager and course creator Access system content bank files - allowed for the default role of authenticated user Access course content bank files - allowed for the default roles of manager, course creator and teacher View content bank repository - allowed for the default roles of manager, course creator and teacher View unlisted content from the content bank repository - allowed for the default roles of manager and course creator. Course Access the content bank - allowed for the default roles of manager, course creator and teacher Delete any content from the content bank - allowed for the default roles of manager and course creator Delete content from own content bank - allowed for the default role of authenticated user Manage any content from the content bank - allowed for the default roles of manager and course creator Manage content from own content bank - allowed for the default roles of manager, course creator and teacher Upload new content to the content bank - allowed for the default roles of manager, course creator and teacher Create or edit content using a content type editor - allowed for the default roles of manager and course creator Download content from the content bank - allowed for the default roles of manager, course creator and teacher. H5P Access H5P content in the content bank - allowed for the default roles of manager, course creator and teacher Upload new H5P content - allowed for the default roles of manager, course creator and teacher Create or edit content using the H5P editor - allowed for the default roles of manager, course creator and teacher Source: docs.moodle.org/503/en/Content bank — MoodleDocs (GPL) · Imported 2026-11-10. Content bank repository Info coming soon... Repository capabilities Access course category content bank files Access system content bank files Access course content bank files View content bank repository Source: docs.moodle.org/503/en/Content bank repository — MoodleDocs (GPL) · Imported 2026-11-10. Convert URLS into links As the name suggests, the 'Convert URLs into links and images' filter converts a URL such as http://moodle.org into a clickable link http://moodle.org. In addition it can replace image URLs with images. Site administration settings The 'Convert URLs into links' filter has two settings which may be changed by a site administrator in Administration > Site administration > Plugins > Filters > Convert URLs into links and images. Apply to formats The filter may be applied to text entered in any/all of the following formats: Moodle auto-format, HTML format, plain text format, Markdown format. Embed images By default, the filter replaces image URLs with images, however this feature may be disabled by a site administrator. Source: docs.moodle.org/503/en/Convert URLS into links — MoodleDocs (GPL) · Imported 2026-11-10. Convert URLs into links As the name suggests, the 'Convert URLs into links and images' filter converts a URL such as http://moodle.org into a clickable link http://moodle.org. In addition it can replace image URLs with images. Site administration settings The 'Convert URLs into links' filter has two settings which may be changed by a site administrator in Administration > Site administration > Plugins > Filters > Convert URLs into links and images. Apply to formats The filter may be applied to text entered in any/all of the following formats: Moodle auto-format, HTML format, plain text format, Markdown format. Embed images By default, the filter replaces image URLs with images, however this feature may be disabled by a site administrator. Source: docs.moodle.org/503/en/Convert URLs into links — MoodleDocs (GPL) · Imported 2026-11-10. Convert URLs into links filter As the name suggests, the 'Convert URLs into links and images' filter converts a URL such as http://moodle.org into a clickable link http://moodle.org. In addition it can replace image URLs with images. Site administration settings The 'Convert URLs into links' filter has two settings which may be changed by a site administrator in Administration > Site administration > Plugins > Filters > Convert URLs into links and images. Apply to formats The filter may be applied to text entered in any/all of the following formats: Moodle auto-format, HTML format, plain text format, Markdown format. Embed images By default, the filter replaces image URLs with images, however this feature may be disabled by a site administrator. Source: docs.moodle.org/503/en/Convert URLs into links filter — MoodleDocs (GPL) · Imported 2026-11-10. Data formats An administrator can enable / disable and reorder data formats in Site administration > Plugins > Data formats > Manage data formats for use when downloading data such as logs, quiz results and feedback responses. Download data dropdown menu Default data formats enabled are: Comma separated values (.csv) Microsoft Excel (.xlsx) HTML table Javascript Object Notation (.json) OpenDocument (.ods) By default, .csv is at the top of the list, and so appears first when selecting a download format. See also MDL-51603 Source: docs.moodle.org/503/en/Data formats — MoodleDocs (GPL) · Imported 2026-11-10. Database auto-linking Database auto-linking is a site Filter that will create links to a database entry where the name/title (word or phrase) of the database entry is used within the same course in which the database is located. This includes forum postings, pages, labels etc. Database auto-linking must be enabled by an administrator via Administration > Site Administration > Plugins> Filters. This Filter can be enabled by selecting either On (where database entries will be by default auto-linked) or Off but available (where the option to use auto-linking is provided in the database activity settings). Note: If entries are required before viewing, the database auto-linking filter should be disabled. This is because the database auto-linking filter can't determine whether a user has submitted the required number of entries. In addition, you can apply this filter to Content or to Content and headings within a course. Please note applying filters to headings as well as content can greatly increase the load on your server. It is recommended to use the 'Apply to' settings sparingly. The main use is with the multilang filter. Using the up/down arrows in the Order column you can specify the order in which each of the enabled Filters are applied. Source: docs.moodle.org/503/en/Database auto-linking — MoodleDocs (GPL) · Imported 2026-11-10. Database auto-linking filter Database auto-linking is a site Filter that will create links to a database entry where the name/title (word or phrase) of the database entry is used within the same course in which the database is located. This includes forum postings, pages, labels etc. Database auto-linking must be enabled by an administrator via Administration > Site Administration > Plugins> Filters. This Filter can be enabled by selecting either On (where database entries will be by default auto-linked) or Off but available (where the option to use auto-linking is provided in the database activity settings). Note: If entries are required before viewing, the database auto-linking filter should be disabled. This is because the database auto-linking filter can't determine whether a user has submitted the required number of entries. In addition, you can apply this filter to Content or to Content and headings within a course. Please note applying filters to headings as well as content can greatly increase the load on your server. It is recommended to use the 'Apply to' settings sparingly. The main use is with the multilang filter. Using the up/down arrows in the Order column you can specify the order in which each of the enabled Filters are applied. Source: docs.moodle.org/503/en/Database auto-linking filter — MoodleDocs (GPL) · Imported 2026-11-10. Display H5P filter The Display H5P filter converts URLs into embedded H5P content. If the filter is disabled, or if users attempt to add H5P content from a different source than specified in the site administration, the URLs will remain as links and not be displayed as embedded H5P content. Site administration settings The Display H5P filter must be enabled by an administrator via Site administration > Plugins > Filters. The list of URLs from which users can embed H5P content is specified in Site administration / Plugins / Filters / Display H5P. By default the list of allowed sources is empty. Course administration settings Within a course, the filter may be enabled or disabled from the Filters link from the cog icon top right in the Boost theme or from Course administration > Filters in the Classic theme. Source: docs.moodle.org/503/en/Display H5P filter — MoodleDocs (GPL) · Imported 2026-11-10. Display emoticons as images The filter Display emoticons as images converts emoticon (smiley) characters into images. Emoticons may be added using the insert menu Insert > Emojis... in the Text editor or by typing the emoticon characters e.g. :-). Insert Emojis option in Tiny editor Site administration settings Manage filters A site administrator can enable / disable the 'Display emoticons as images' filter site-wide in Administration > Site administration > Plugins > Filters > Manage filters. The 'Display emoticons as images' settings (Administration > Site administration > Plugins > Filters > Display emoticons as images) enable the site administrator to select which formats the filter is applied to. By default, the filter is applied to Moodle auto-format, HTML format and Markdown format. HTML settings A site administrator can customize the list of available emoticons in Administration > Site administration > Appearance > HTML settings. See Emoticon images for details. Source: docs.moodle.org/503/en/Display emoticons as images — MoodleDocs (GPL) · Imported 2026-11-10. Display emoticons as images filter The filter Display emoticons as images converts emoticon (smiley) characters into images. Emoticons may be added using the insert menu Insert > Emojis... in the Text editor or by typing the emoticon characters e.g. :-). Insert Emojis option in Tiny editor Site administration settings Manage filters A site administrator can enable / disable the 'Display emoticons as images' filter site-wide in Administration > Site administration > Plugins > Filters > Manage filters. The 'Display emoticons as images' settings (Administration > Site administration > Plugins > Filters > Display emoticons as images) enable the site administrator to select which formats the filter is applied to. By default, the filter is applied to Moodle auto-format, HTML format and Markdown format. HTML settings A site administrator can customize the list of available emoticons in Administration > Site administration > Appearance > HTML settings. See Emoticon images for details. Source: docs.moodle.org/503/en/Display emoticons as images filter — MoodleDocs (GPL) · Imported 2026-11-10. Document converter Plugins may be installed to convert uploaded assignment submissions to PDF format for teachers to annotate. The list of available converters may be accessed from the Plugins section of Site administration. There are currently two document converters available as standard plugins: Unoconv requires Unoconv to be installed on a server. However, Unoconv is now deprecated. Google Drive converter (in 3.3 onwards) requires the OAuth 2 Google service to be enabled. See also Google Document Converter Slooooooooow forum discussion Source: docs.moodle.org/503/en/Document converter — MoodleDocs (GPL) · Imported 2026-11-10. Document converters Plugins may be installed to convert uploaded assignment submissions to PDF format for teachers to annotate. The list of available converters may be accessed from the Plugins section of Site administration. There are currently two document converters available as standard plugins: Unoconv requires Unoconv to be installed on a server. However, Unoconv is now deprecated. Google Drive converter (in 3.3 onwards) requires the OAuth 2 Google service to be enabled. See also Google Document Converter Slooooooooow forum discussion Source: docs.moodle.org/503/en/Document converters — MoodleDocs (GPL) · Imported 2026-11-10. Download course content 1 Download course content 2 For students 3 For teachers 4 For administrators 5 Capabilities Download course content Content from the File, Folder, Page and Text and media area can be downloaded if enabled site wide and in individual courses. For students If the feature is made available by the administrator and enabled in a course by the teacher, then students and other users with the capability to download course content will see the option 'Download course content' in the More menu. Clicking the button will display a pop-up and link to a zipped file. For teachers If the features is made available by the administrator, then course teachers see an option Enable download course content in the course settings. They can then choose Yes to make content downloadable, or No if they prefer not to. For administrators Download course content can be made available from Site administration > Courses > Download course content. Here, the admin can also specify the maximum size of files which may be downloaded. Optionally, from Site administration > Courses > Course default settings, the admin can make the feature enabled by default in courses. Capabilities Configure download course content - allowed for the default roles of manager and teacher. Download course content - allowed for the default roles of manager, teacher, non-editing teacher and student. Source: docs.moodle.org/503/en/Download course content — MoodleDocs (GPL) · Imported 2026-11-10. Dropbox The Dropbox repository enables users to copy or create a shortcut or alias to files from their own Dropbox. See Working with files for more details. 1 Enabling the Dropbox repository 2 Using the Dropbox repository 3 Repository capabilities 4 See also Enabling the Dropbox repository To use the Dropbox repository, an administrator must first create an OAuth 2 service. Go to OAuth 2 services in Site administration - Server and click the button to create a new custom service. Go to 'Manage repositories' in Site administration and enable the Dropbox repository. On the Dropbox configuration page, select the OAuth 2 service then save changes. Using the Dropbox repository To select a file via Dropbox, editing teachers will click on the Dropbox link in the file picker and log on to access the files in their account. They will see a message requesting access: When they are done, they can log out. Repository capabilities There is just one capability, View a Dropbox folder, which is allowed for the default authenticated user role. See also MDL-70268 - Dropbox scope updates MDL-70271 - Dropbox API token updates Source: docs.moodle.org/503/en/Dropbox — MoodleDocs (GPL) · Imported 2026-11-10. Dropbox repository The Dropbox repository enables users to copy or create a shortcut or alias to files from their own Dropbox. See Working with files for more details. 1 Enabling the Dropbox repository 2 Using the Dropbox repository 3 Repository capabilities 4 See also Enabling the Dropbox repository To use the Dropbox repository, an administrator must first create an OAuth 2 service. Go to OAuth 2 services in Site administration - Server and click the button to create a new custom service. Go to 'Manage repositories' in Site administration and enable the Dropbox repository. On the Dropbox configuration page, select the OAuth 2 service then save changes. Using the Dropbox repository To select a file via Dropbox, editing teachers will click on the Dropbox link in the file picker and log on to access the files in their account. They will see a message requesting access: When they are done, they can log out. Repository capabilities There is just one capability, View a Dropbox folder, which is allowed for the default authenticated user role. See also MDL-70268 - Dropbox scope updates MDL-70271 - Dropbox API token updates Source: docs.moodle.org/503/en/Dropbox repository — MoodleDocs (GPL) · Imported 2026-11-10. E-portfolio Portfolios in Moodle make it easy for a student to export their work to an external portfolio. For example, student work might include forum posts or assignment submissions that they believe demonstrates their knowledge. Portfolios are disabled by default in Moodle and must be enabled by a site administrator. See Managing portfolios for details. File download Flickr.com Google Drive Mahara ePortfolio Portfolios FAQ 1 Exporting to portfolio 2 Items which may be exported to portfolio 3 Export formats 4 Managing your own portfolios 5 See also Exporting to portfolio When portfolios are enabled, forum posts and other exportable data (see below) have an export to portfolio icon or link beside them. To export an assignment submission to a portfolio Click the 'Export to portfolio' link Select the portfolio you wish to export to e.g. Google Docs or file download (this step will be skipped if there's only one) If prompted, select an export format e.g. HTML If file download was selected in step 2, you can then save the file, otherwise you will be given the option to return to the page you were previously viewing or visit your portfolio (certain portfolios only) Items which may be exported to portfolio Assignment submissions - single and multiple file uploads Chat sessions Database activity module entries (##export## tag may be added to list and single templates) Database activities Forum posts Glossary entries Export formats Possible export formats include HTML LEAP2A, a specification for e-portfolio portability Images Text File Managing your own portfolios While the administrator determines which portfolios are enabled on the site in Managing portfolios, an individual user can choose which portfolios to display or hide from the preferences page of the user menu top right, in the section "Portfolios." See also Exabis e-portfolio block Portfolio module Portfolio Plugin for Evernote e-Portfolio overview at Wikipedia Source: docs.moodle.org/503/en/E-portfolio — MoodleDocs (GPL) · Imported 2026-11-10. EQUELLA repository The EQUELLA repository enables users to make aliases (shortcuts) to EQUELLA files. Updating the files in EQUELLA will automatically cause them to update in Moodle. In addition to being able to search the EQUELLA repository, users also have the option to manage their repository and add new files. 1 Requirements 2 Setup 2.1 EQUELLA configuration 2.2 Moodle configuration 3 Capabilities 4 See also Requirements EQUELLA 5.2 QA2 or higher is required for this repository plug-in to work correctly. Setup Warning: This page may be outdated. See openEQUELLA's own documentation at https://openequella.github.io/guides/MoodleIntegrationGuide.html EQUELLA configuration A shared secret must be configured in EQUELLA that Moodle will use to authenticate access for users. Log in to your EQUELLA site as admin. Your URL might be for instance http:// equella.myequellainstitution.edu Select 'Settings' and then 'Administration Console' (1 below) NOTE: You will need up to date Java for this to display. Select User Management. Highlight 'Shared Secret' and click 'Configure' at the bottom of the screen (2 below) A new name 'Default' will appear with configuration elements to the right (3 below) Add a name for the Unique identifier and a shared secret. Any secret will do, but a longer one with a mix of letters and numbers is best. Make a note of it to use when configuring Moodle. Add any extra details and save. 1.Accessing the Admin console 2.Configuring shared secret 3.Defining the shared secret For further information, please consult the EQUELLA Moodle Configuration Guide. Moodle configuration The EQUELLA repository may be enabled by a site administrator in Administration > Site administration > Plugins > Repositories > Manage repositories. From there, an EQUELLA repository instance can be created. EQUELLA URL The URL to your EQUELLA install with "/signon.do" appended. For example, "http:// equella.myinstitution.edu/logon.do" would become "http:// equella.myinstitution.edu/signon.do" EQUELLA options This is an optional advanced setting that can be used to restrict users to a limited set of collections or advanced searches. Restrict selection Choose if users should be restricted to only choosing attached resources, summary pages or no restriction. Default role settings The shared secret ID and shared secret entered here should match those that have been setup in EQUELLA {X} role settings Shared secrets configured under a specific role will take precedence over the default shared secret if a user has that role. The security ACLs in EQUELLA can then be configured to grant or revoke access to additional functionality based on the shared secret that the user was authenticated with. Capabilities There is just one capability, View EQUELLA repository, which is allowed for the default authenticated user role. See also Moodle configuration guide for EQUELLA 5.2 Moodle user guide for EQUELLA 5.2 Additional Moodle modules and blocks for integrating with EQUELLA EQUELLA community site EQUELLA Pearson Announces Deeper Integration Between EQUELLA 5.2 Digital Repository and Moodle Learning Management System Source: docs.moodle.org/503/en/EQUELLA repository — MoodleDocs (GPL) · Imported 2026-11-10. Email protection The email protection filter obfuscates email address links to make them more difficult for spammers to harvest from a web page. Source: docs.moodle.org/503/en/Email protection — MoodleDocs (GPL) · Imported 2026-11-10. Email protection filter The email protection filter obfuscates email address links to make them more difficult for spammers to harvest from a web page. Source: docs.moodle.org/503/en/Email protection filter — MoodleDocs (GPL) · Imported 2026-11-10. Embedded file repository The embedded files repository allows users to access files such as images which they have previously embedded into the text editor. This makes it more convenient, for example, to quickly re-use images in a label or page. It complements the Manage embedded files plugin, which allows files embedded in the editor to be deleted or overwritten. See Text editor for more details. Embedded files repository in File picker Embedded files repository This repository can be accessed when using the text editor and inserting images, videos or creating hyperlinks. The first time a file is added, it is added from the usual repositories, for example Upload a file. It will then become available for reuse in the same text area from the Embedded files repository. See also Managing embedded files plugin in TinyMCE text editor YouTube video Managing files embedded in the text editor The video refers to an earlier (contributed) version of this repository, but is still useful to get an idea of how it works. Source: docs.moodle.org/503/en/Embedded file repository — MoodleDocs (GPL) · Imported 2026-11-10. Embedded files repository The embedded files repository allows users to access files such as images which they have previously embedded into the text editor. This makes it more convenient, for example, to quickly re-use images in a label or page. It complements the Manage embedded files plugin, which allows files embedded in the editor to be deleted or overwritten. See Text editor for more details. Embedded files repository in File picker Embedded files repository This repository can be accessed when using the text editor and inserting images, videos or creating hyperlinks. The first time a file is added, it is added from the usual repositories, for example Upload a file. It will then become available for reuse in the same text area from the Embedded files repository. See also Managing embedded files plugin in TinyMCE text editor YouTube video Managing files embedded in the text editor The video refers to an earlier (contributed) version of this repository, but is still useful to get an idea of how it works. Source: docs.moodle.org/503/en/Embedded files repository — MoodleDocs (GPL) · Imported 2026-11-10. Embedding content Moodle makes embedding video and sound files very straightforward. Media (audio and video) may be dragged and dropped directly onto the course page, added as a File resource or linked to as a URL resource and they will also display in Moodle's text editor. Using the Text editor provides extra options with media files, such as the option to directly record sound and video from the editor. Load video YouTube YouTube might collect personal data. Privacy Policy Display sound and video files See Video and Audio for instructions on how to embed video and sound files in the text editor. The Multimedia plugins filter must be enabled and then specific players may be enabled or disabled from 'Manage media players' in Site administration. The default player, VideoJS player supports (video) mov, .mp4, .m4v, .mpeg, .mpe, .mpg, .ogv, .webm, .flv, .f4v (audio) .mp3, .aac, .flac, .m4a, .oga, .ogg, .wav Other available players are: YouTube (displays videos hosted on YouTube) Vimeo (displays videos hosted on vimeo) HTML 5 video HTML 5 audio A default width and height for videos can be set by the administrator from the 'Manage media players' page. Teachers adding videos via the Moodle media button in the text editor may also specify a width and height. Source: docs.moodle.org/503/en/Embedding content — MoodleDocs (GPL) · Imported 2026-11-10. External tool 1 What are LTI External tools? 2 Viewing and managing LTI External tools 3 Adding LTI External tools at course level 3.1 Tool settings 3.2 Services 3.3 Privacy 4 Site administration settings 4.1 Adding a tool site-wide 4.1.1 Making a tool available to specific course categories 4.2 Registering an LTI Advantage tool 4.3 Registering an LTI 1.1 tool using a cartridge 4.4 Registering an external LTI 2.0 external tool 4.5 Viewing more details 5 External tool capabilities 6 See also What are LTI External tools? Load video YouTube YouTube might collect personal data. Privacy Policy LTI External tool LTI External tools are add-on apps you can integrate into your course, such as interactive content, activities, or assessments. Teachers can link to these activities from within their Moodle course page, and students can access them without leaving their Moodle course or having to log in to a different system. Where available, and depending on each tool, teachers can also have grades sent back into Moodle. The link between Moodle and these tools is made through the Learning Tools Interoperability (LTI) standard, which integrates learning platforms with learning tools to create a richer, seamless learning experience. Essentially, the LTI standard enables a secure, bi-directional exchange of information between Moodle and external learning tools. LTI External tools can be used in Moodle as activities. This page explores the LTI External Tools page, which allows you to see which LTI External tools are available in your course. It also covers how to add new LTI tools to your course, and how administrators can add LTI tools to their site. Viewing and managing LTI External tools To view the LTI External tools that are available in your course, go to Course navigation > More > LTI External tools. If your administrator or another teacher have already configured tools for your course, they will be shown on this page. The table on the page contains information about the available LTI tools in the course: Name Description Usage count: How many times the tool is being used in the course Show in Activity chooser: Whether the tool is displayed in the activity chooser so it can be used as an activity in the course. The context menu (···) contains actions you can perform on the tool, such as Edit its settings, Delete it, or see its registration details (for LTI 1.3 tools only). The actions you can perform depend on the permissions your administrator has given you. If instead of the three dots menu there is a lock icon, it means that the tool has been configured by your administrator for the whole site, and you can’t edit it. Adding LTI External tools at course level If your administrator has given you permission to manage LTI External tools, you can add new tools to your courses using the ‘Add tool’ button on the LTI External tools page. Tools that you add at course level will appear in your activity chooser by default. You can remove them from the activity chooser by going to Course page > More > LTI External Tools and toggling them off in the column ‘Show in activity chooser’. Tool settings In Tool settings, give your tool a name (and, optionally, a description). To fill in the rest of the fields in this section, including the LTI version, follow the instructions from your tool provider. If the tool doesn’t provide information about some of these settings, it’s ok to leave them blank. Tool URL - This is the URL for connecting to site. If your moodle site uses SSL (is on HTTPS) you will only be able to use a tool that also uses SSL. Make sure the tool URL has HTTPS before attempting to use it or you may get a blank page. LTI version - The LTI version of the tool you're adding. Consumer key -this tells the connecting LTI compliant site that your Moodle is allowed to connect. The "tool provider", i.e. the manger of the connecting LTI compliant site will issue you with this key. If you are merely linking to a tool with no secure access or gradebook sharing then you won't need a consumer key. If you are linking to a course or activity from another Moodle site, then you can add any consumer key. Shared secret - this is the "password" to connect to the tool - the LTI compliant site. Custom parameters - most times, you can leave this blank. The tool provider might use this to allow you to display a specific resource. Default launch container - this is how the external tool will be displayed. Embed - The content will appear within the activity page where the tool is used, not moving users away from the page, but hiding any blocks your course may have. Embed without blocks - The content will be displayed in the existing tab or window. Users will have to navigate back to the course using the ‘Back’ button once they’re done. Existing window - The content will be displayed in the existing tab or window. Users will have to navigate back to the course using the ‘Back’ button once they’re done. New Window - the external tool will open in a new window. (A new window or tab will open with the External tool and the old browser window containing the course page will not change.) Content selection URL - The Content Selection URL will be used to launch the content selection page from the tool provider. If it is empty, the Tool URL will be used. The following settings are available by clicking ""Show more": Icon URL - you can display a different icon from the default External Tool icon by entering its URL here Secure Icon URL - enter the URL of a different icon here if your students are accessing Moodle securely via SSL. Services Choose which of the services you want to use with the tool. Privacy Share launcher's name with the tool - this means that the student's name will be displayed on the connected site as in this example Share launcher's email with the tool - this means that the student's email will be displayed on the connected site as in this example Accept grades from the tool - if this is checked, the connecting site will send back grades to Moodle's gradebook. See Using External tool for more information on this. Once you Save changes, the tool will be added to the list of tools in Course page > More > LTI External tools. Site administration settings Adding a tool site-wide An administrator can manually configure external tools in Site administration > Plugins > Activity modules > External tool> Manage tools so that they are available across the site. Adding an external tool A tool may be configured by an administrator so that it is shown in the activity chooser (in addition to the external tool activity) for a teacher to select to add to a course. Its description, if one is present, will appear in the activity chooser. Making a tool available to specific course categories When configuring an LTI External tool, administrators have the option to limit its availability to specific course categories by selecting the desired categories in the 'Restrict to category' section during the tool configuration process. Registering an LTI Advantage tool Moodle allows a simple way to deploy an LTI Advantage tool. If the tool provider supports that flow, you should have received a registration URL. Simply enter that url to a tool in the 'Tool URL' and press 'Add LTI Advantage'. The tool registration UI will open and guide you to the steps for registration. Once completed, the registration panel will close and the list of tools will refresh. If the registration was successful, the newly added tool should be visible in a pending state. The pending state allows you to review the tool configuration, the privacy and services granted, apply possible modifications (for example how the tool appears in the activity chooser), then activate the tool to make it available. In case of errors when trying to start the registration, validate the registration URL with the tool's vendor the registration URL is for an LTI Advantage registration and not for the deprecated LTI 2 registration. For Tool Developers looking to support the automated registration of LTI Advantage tool, there is an implementation guide available. The registration process is also being standardized by IMS Global LTI Working Group. There is also a Youtube video demo-ing and explaining the flow. Registering an LTI 1.1 tool using a cartridge You can register an LTI 1.1 tool type using a cartridge. A cartridge will configure all the information such as launch url, tool name & description and icons for you. To do this, simply enter the url to a tool's cartridge in the 'Tool URL' and press 'Add Legacy LTI'. You will be asked to enter a key and secret. If you don't have them, you can leave them blank and press save changes. Entering a consumer key and secret Registering an external LTI 2.0 external tool The LTI 2 specifications have been deprecated by IMS Global and are no more the preferred way to integrate an external tool in Moodle. Viewing more details On the 'Manage tools' page you can also visit 'Manage preconfigured tools' to view the preconfigured tools in a tabular format. There are tabs to add an external tool, to view those which are pending and to view those which have been rejected: Setting up a new external tool You can also visit 'Manage external tool registrations' to view the tool registrations in a tabular format, or to add an external registration with limited capabilities. To add a tool with limited capabilities. 1. Click 'Configure a new external tool registration' Registering an external tool 2. Configure the details on the settings page: Registration settings page 'Memberships', allow the external tool to request a list of users with a certain role in a specified context e.g. users enrolled in a course. 3. Click the tick/checkmark to register: Activating 4. After obtaining a success message, click to complete the process: Completing the registration 5. If all requirements are met then you will be able to register automatically. 6. Now go to Site administration > Plugins > Activity modules > External tool > Manage external tool types and click the 'Pending tab' 7. Click the tick/checkmark to activate it: Activating from the Pending tab External tool capabilities Add course-specific tool configurations Add a new external tool Add a preconfigured tool Submit a tool to admins for configuration Be an admin when the tool is launched Edit external tool activities i.e. be an Instructor when the tool is launched View external tool activities i.e. launch external tool activities See also LTI External tool FAQ Forum discussion LTI configs when add external tool is switched off Source: docs.moodle.org/503/en/External tool — MoodleDocs (GPL) · Imported 2026-11-10. External tool FAQ 1 What are LTI External tools? 2 How can I get my activities created with LTI External tools to display on the Dashboard in the Course overview block? 3 What versions of LTI does Moodle support? 4 How do I restrict a tool to specific users? 5 How do LTI External tools work with course backups? 6 Any further questions? What are LTI External tools? LTI External tools are add-on apps you can integrate into your course, such as interactive content, activities, or assessments It is similar to SCORM as a standard for educational objects, but instead of being a package of content that is uploaded to Moodle, LTI is a way of integrating the functionality provided by another system into your course. How can I get my activities created with LTI External tools to display on the Dashboard in the Course overview block? Set an 'Expect completed by' date in the Activity completion section in the External tool settings. What versions of LTI does Moodle support? LTI 1.1 Advantage and LTI 1.3 Advantage. How do I restrict a tool to specific users? As site admin, when you configure the tool in Site administration > Plugins > Manage tools, set the tool configuration usage to 'Do not show; use only when a matching tool URL is entered', then email the tool URL to the specific users. How do LTI External tools work with course backups? When you back up a course that has LTI External tools, only the tools that are being used in an activity will be included in a backup. Tools that are in Course page > More > LTI External tools but are not used in the course will not be included in the backup. Any further questions? Please post in the LTI and Moodle forum on moodle.org Source: docs.moodle.org/503/en/External tool FAQ — MoodleDocs (GPL) · Imported 2026-11-10. External tool settings This page explores how to use LTI External tools in your course as activities. 1 How is it set up? 1.1 General 1.1.1 Content 1.1.2 Display activity name when students access the tool 1.1.3 Display activity description when students access the tool 1.1.4 Grade 1.1.5 Other settings 2 Using an LTI External tool as an activity 3 See also How is it set up? To create an activity using an LTI External tool, go to the Course page and turn on Edit mode. Click either the link ‘Add an activity or resource’ at the bottom of each section, or click anywhere on the course page where you want to add your item. The Activity chooser will show; then, select the tool you want to create an activity with. If the tool you want to use is not in the Activity chooser, you need to toggle the 'Show in activity chooser' option in the table in Course page > More > LTI External tools. This page is also where you can see all LTI External tools available in your course. For more information, see Managing LTI External tools. Once you select the tool in the Activity chooser, you can continue with activity creation and select the settings you'd like. General Content If you're using a tool that supports deep linking, you will see a 'Select content' button on top of the activity form. Use this button to select which specific content from the tool you want to use in your activity. Once you select content, the Activity name and Activity description might be automatically populated by the tool. If not, give your activity a name and, optionally, a description. Display activity name when students access the tool You will only see this setting if your site uses the Classic theme and, in the tool settings, the tool’s content display has been configured as ‘Embed’ or ‘Embed, without blocks’. This setting determines whether the activity name is displayed on the screen once your students access it. Display activity description when students access the tool You will only see this setting if, in the tool settings, the tool’s content display has been configured as ‘Embed’ or ‘Embed, without blocks’. This setting determines whether the activity description is displayed on the screen once your students access it. Grade Your activity will only have a Grade section if the tool it is using has been given permission to write grades in the gradebook. In activities created using LTI External Tools, the grade will always be given by the tool. You might have the option to completely deactivate grading for your activity if the checkbox ‘Allow tool to add grades in the gradebook’ is displayed. If you see the Grade section, but there is no checkbox  ‘Allow tool to add grades in the gradebook’, it means that your site administrator has configured the tool to always write grades in the gradebook. Other settings Depending on what is enabled for your site and course, you may also need to explore Common module settings, Restrict access, Activity completion, Tags and Competencies. Using an LTI External tool as an activity When students click the tool link they are automatically signed into the connecting site/tool provider (screenshot 1 below) and can take the quiz immediately. When the student has completed the quiz, the tool provider displays their grade (screenshot 2 below) and when the student logs out of the tool provider, the grade is passed back into Moodle (screenshot 3 below). 1.Student logged directly into tool provider 2. Tool provider displays score 3. Score passed to Moodle's gradebook See also Forum discussion 1.3 External Tools adding to a course in Moodle version 4.3 Source: docs.moodle.org/503/en/External tool settings — MoodleDocs (GPL) · Imported 2026-11-10. File bank 1 Adding files to your course 1.1 Drag and drop 1.2 Add a resource or activity 2 Unzipping uploaded files 3 Viewing uploaded files 4 Editing or updating uploaded files 5 Creating a link to a file 6 SCORM files cannot be updated where alias/shortcut are used 6.1 Areas where links cannot be made 7 Site administration settings 7.1 Adding a new file type 7.2 Restricting allowed file types 7.3 Removing a file type 7.4 Editing an existing file type 7.5 Google docs and docx 8 Alternative to MS PowerPoint and PDF files 9 See also Adding files to your course Moodle provides an easy way for a teacher to present materials to their students. These materials may take the form of files such as word-processed documents or slideshow presentations. The materials can be displayed on the page either as individual items or bundled together inside folders. One teacher might for instance wish to share a single research document in pdf format; another might have a folder of sample past examination papers for students to download. Most types of files can be uploaded and accessed through Moodle but the student needs to have the correct software to be able to open them. To add files to a Moodle course, you must first ensure you have the editing turned on. Drag and drop If you are using a modern browser, you can simply click, hold and drag and drop a file directly onto your course page. You will know if drag and drop is available to you because you will (briefly) see a message at the top of your screen: To drag and drop a folder, you must first compress/zip it using whichever program your computer has. Load video YouTube YouTube might collect personal data. Privacy Policy Dragging and dropping files Add a resource or activity Instead of drag and drop, you can click the link 'Add an activity or resource' and select either File or Folder from the activity chooser. Load video YouTube YouTube might collect personal data. Privacy Policy Uploading files The screen for uploading and displaying a file (or folder of files) includes an "add" button. Clicking on this button takes you to the File picker which is the name given to the file storage and access area within Moodle. Find out more about the places you can upload or add files from in the File picker page. There is also a block (with an arrow) into which you can drag and drop a file straight from your desktop into Moodle. Unzipping uploaded files If you upload a single zipped file, Moodle will automatically unzip it for your students to see it in Moodle. If you upload a number of files as a single zipped file, either as File, nor inside a Folder, Moodle will force the download. Viewing uploaded files Once uploaded, files appear as thumbnails in the file manager for easy recognition. Files view can be easily toggled between icons view or a table view with sizes and dates, or a hierarchical list view. File picker icon view File picker table view File picker hierarchical list view Editing or updating uploaded files Clicking on the name of an uploaded file opens up a pop up dialogue box which allows file details quickly to be altered. Creating a link to a file When an uploaded file - or a file from the Content bank, Private files, Dropbox, File system or NextCloud repositories - is re-used elsewhere on Moodle, the teacher has the option to make a copy (a new, unconnected version) or to link to it (formerly known as a shortcut or alias). If a link is created, then when the original file is updated, it will change in all instances of the link. So a teacher might add course notes to their private files for example, and then add them into a number of courses. When the teacher makes an alteration in the file in their private files, this alteration will be reflected in all instances of the course notes. A link can be recognised by its thumbnail. See the difference in the screenshot below between the original file (left) and the link (right): To update a file, go to its original location (for example Private files) and upload your new version with the same name . You will be prompted to override or rename the file. Choose "override" and this file will replace your original file and the alisas/shortcuts will remain and all be updated to your latest version. Creating a link SCORM files cannot be updated where alias/shortcut are used Note: while it is possible to create alias files for SCORM activities, it is not possible to update the source file and have changes replicated in the alias. Updating the original SCORM (.zip) file will update this location but all alias will convert to 'true copies' of the original and alias will be removed. Areas where links cannot be made A link cannot be made in the following areas of Moodle: an assignment submission a forum post attachment a workshop submission a quiz essay a database activity file field This is to prevent cases such as a student uploading an item for assessment and then subsequently changing the original in their private files. When a student uses a file from their private files in one of these instances, they do not see the options to "copy" or "link". Below is an example of a file added to an assignment: Assignment submission with no option to create an alias Site administration settings An administrator can add new file types and view, edit and delete existing file types from Site administration > Server > File types. This means that, for example, if teachers and students on your site use a lot of files specific to a particular program, such files can now be recognised by Moodle, and, when downloaded, they will open in the correct program, rather than presenting themselves as a generic zip file. Some examples from the list Adding a new file type 1. Scroll down to the bottom of the page and click the "Add" button 2. Add the details of your file type, using the example below as a guide. This example will add the .mobi extension (for a Kindle ebook) with the standard document icon. Adding a new filetype NOTE: The mimetype is set for a file when it is added/uploaded in Moodle (not when it is downloaded). If you change the mimetype associated with a file extension it will not make any difference to existing files. Only files uploaded in the future will have the new mimetype. 3. Click to save the changes and you will see your new file type has been added to the list: New type in the list Restricting allowed file types Allowed file types for Workshop submissions may be restricted It is possible to restrict file types for assignments. See Assignment settings. Removing a file type Clicking the X next to a file type will remove it from the site. You will be prompted to confirm before deletion. Editing an existing file type Clicking the edit icon next to a file type will allow you to change certain details, for example the associated icon and description. If you don't wish to use the default description, you can specify your own custom description (with multi-language tags if your site supports multi-languages) or you can use an alternative language string from mimetypes.php. Google docs and docx Importing Google docs files as docx. See https://moodle.org/mod/forum/discuss.php?d=320144 Alternative to MS PowerPoint and PDF files The Presentation additional plugin displays multimedia HTML5 presentations and slide shows in users' web browsers. A web friendly and more feature rich alternative to MS PowerPoint and PDF. However, presentations must be uploaded to moodledata via FTP and you'll need to learn some basic HTML to create presentations for it. See also How to share a single file with students: File resource. How to share a folder of files with students: Folder. Questions about the file picker: File picker FAQ. Restoring file aliases Source: docs.moodle.org/503/en/File bank — MoodleDocs (GPL) · Imported 2026-11-10. File download The File download portfolio allows for easy download of content in Moodle activities. Enabling file download (admin settings) Go to Administration > Site administration > Advanced features > Enable portfolios Go to Administration > Site administration > Plugins > Portfolios > Manage Portfolios Click the "Settings" and if desired, give File download a customised name (not essential) Sending/"pushing" files to File download You can export content such as attached files in forum posts to File download. Click the plus icon next to the file - in this instance, a pdf document: On the next screen, choose the portfolio to export to. (If File download is the only one, you will only have that option!) Click "Next" and then choose the file format you wish to export as. (Which formats you are offered depends on the type of file you wish to download) On the next screen, click "Continue" to confirm your export and download your file: Source: docs.moodle.org/503/en/File download — MoodleDocs (GPL) · Imported 2026-11-10. File download portfolio The File download portfolio allows for easy download of content in Moodle activities. Enabling file download (admin settings) Go to Administration > Site administration > Advanced features > Enable portfolios Go to Administration > Site administration > Plugins > Portfolios > Manage Portfolios Click the "Settings" and if desired, give File download a customised name (not essential) Sending/"pushing" files to File download You can export content such as attached files in forum posts to File download. Click the plus icon next to the file - in this instance, a pdf document: On the next screen, choose the portfolio to export to. (If File download is the only one, you will only have that option!) Click "Next" and then choose the file format you wish to export as. (Which formats you are offered depends on the type of file you wish to download) On the next screen, click "Continue" to confirm your export and download your file: Source: docs.moodle.org/503/en/File download portfolio — MoodleDocs (GPL) · Imported 2026-11-10. File handling 1 Adding files to your course 1.1 Drag and drop 1.2 Add a resource or activity 2 Unzipping uploaded files 3 Viewing uploaded files 4 Editing or updating uploaded files 5 Creating a link to a file 6 SCORM files cannot be updated where alias/shortcut are used 6.1 Areas where links cannot be made 7 Site administration settings 7.1 Adding a new file type 7.2 Restricting allowed file types 7.3 Removing a file type 7.4 Editing an existing file type 7.5 Google docs and docx 8 Alternative to MS PowerPoint and PDF files 9 See also Adding files to your course Moodle provides an easy way for a teacher to present materials to their students. These materials may take the form of files such as word-processed documents or slideshow presentations. The materials can be displayed on the page either as individual items or bundled together inside folders. One teacher might for instance wish to share a single research document in pdf format; another might have a folder of sample past examination papers for students to download. Most types of files can be uploaded and accessed through Moodle but the student needs to have the correct software to be able to open them. To add files to a Moodle course, you must first ensure you have the editing turned on. Drag and drop If you are using a modern browser, you can simply click, hold and drag and drop a file directly onto your course page. You will know if drag and drop is available to you because you will (briefly) see a message at the top of your screen: To drag and drop a folder, you must first compress/zip it using whichever program your computer has. Load video YouTube YouTube might collect personal data. Privacy Policy Dragging and dropping files Add a resource or activity Instead of drag and drop, you can click the link 'Add an activity or resource' and select either File or Folder from the activity chooser. Load video YouTube YouTube might collect personal data. Privacy Policy Uploading files The screen for uploading and displaying a file (or folder of files) includes an "add" button. Clicking on this button takes you to the File picker which is the name given to the file storage and access area within Moodle. Find out more about the places you can upload or add files from in the File picker page. There is also a block (with an arrow) into which you can drag and drop a file straight from your desktop into Moodle. Unzipping uploaded files If you upload a single zipped file, Moodle will automatically unzip it for your students to see it in Moodle. If you upload a number of files as a single zipped file, either as File, nor inside a Folder, Moodle will force the download. Viewing uploaded files Once uploaded, files appear as thumbnails in the file manager for easy recognition. Files view can be easily toggled between icons view or a table view with sizes and dates, or a hierarchical list view. File picker icon view File picker table view File picker hierarchical list view Editing or updating uploaded files Clicking on the name of an uploaded file opens up a pop up dialogue box which allows file details quickly to be altered. Creating a link to a file When an uploaded file - or a file from the Content bank, Private files, Dropbox, File system or NextCloud repositories - is re-used elsewhere on Moodle, the teacher has the option to make a copy (a new, unconnected version) or to link to it (formerly known as a shortcut or alias). If a link is created, then when the original file is updated, it will change in all instances of the link. So a teacher might add course notes to their private files for example, and then add them into a number of courses. When the teacher makes an alteration in the file in their private files, this alteration will be reflected in all instances of the course notes. A link can be recognised by its thumbnail. See the difference in the screenshot below between the original file (left) and the link (right): To update a file, go to its original location (for example Private files) and upload your new version with the same name . You will be prompted to override or rename the file. Choose "override" and this file will replace your original file and the alisas/shortcuts will remain and all be updated to your latest version. Creating a link SCORM files cannot be updated where alias/shortcut are used Note: while it is possible to create alias files for SCORM activities, it is not possible to update the source file and have changes replicated in the alias. Updating the original SCORM (.zip) file will update this location but all alias will convert to 'true copies' of the original and alias will be removed. Areas where links cannot be made A link cannot be made in the following areas of Moodle: an assignment submission a forum post attachment a workshop submission a quiz essay a database activity file field This is to prevent cases such as a student uploading an item for assessment and then subsequently changing the original in their private files. When a student uses a file from their private files in one of these instances, they do not see the options to "copy" or "link". Below is an example of a file added to an assignment: Assignment submission with no option to create an alias Site administration settings An administrator can add new file types and view, edit and delete existing file types from Site administration > Server > File types. This means that, for example, if teachers and students on your site use a lot of files specific to a particular program, such files can now be recognised by Moodle, and, when downloaded, they will open in the correct program, rather than presenting themselves as a generic zip file. Some examples from the list Adding a new file type 1. Scroll down to the bottom of the page and click the "Add" button 2. Add the details of your file type, using the example below as a guide. This example will add the .mobi extension (for a Kindle ebook) with the standard document icon. Adding a new filetype NOTE: The mimetype is set for a file when it is added/uploaded in Moodle (not when it is downloaded). If you change the mimetype associated with a file extension it will not make any difference to existing files. Only files uploaded in the future will have the new mimetype. 3. Click to save the changes and you will see your new file type has been added to the list: New type in the list Restricting allowed file types Allowed file types for Workshop submissions may be restricted It is possible to restrict file types for assignments. See Assignment settings. Removing a file type Clicking the X next to a file type will remove it from the site. You will be prompted to confirm before deletion. Editing an existing file type Clicking the edit icon next to a file type will allow you to change certain details, for example the associated icon and description. If you don't wish to use the default description, you can specify your own custom description (with multi-language tags if your site supports multi-languages) or you can use an alternative language string from mimetypes.php. Google docs and docx Importing Google docs files as docx. See https://moodle.org/mod/forum/discuss.php?d=320144 Alternative to MS PowerPoint and PDF files The Presentation additional plugin displays multimedia HTML5 presentations and slide shows in users' web browsers. A web friendly and more feature rich alternative to MS PowerPoint and PDF. However, presentations must be uploaded to moodledata via FTP and you'll need to learn some basic HTML to create presentations for it. See also How to share a single file with students: File resource. How to share a folder of files with students: Folder. Questions about the file picker: File picker FAQ. Restoring file aliases Source: docs.moodle.org/503/en/File handling — MoodleDocs (GPL) · Imported 2026-11-10. File picker 1 What is the file picker? 2 Getting files from the file picker 3 Viewing your files in the file picker 3.1 View as icons 3.2 View as table 3.3 View as a list What is the file picker? The file picker enables files to be selected and displayed in Moodle - for example, when an editing teacher clicks Add an activity or resource > File, or when a forum participant adds an attachment to a post. Usually the file is copied into Moodle from wherever you have chosen it from (e.g. a repository or your computer), though for certain repositories, such as the Youtube videos repository, a link is created, and in some situations an alias/shortcut may be created. Load video YouTube YouTube might collect personal data. Privacy Policy Overview of the file picker in Moodle Getting files from the file picker When the file picker screen appears, a number of links are listed down the side. These are links to Repositories which hold files you might want to use. There is also a link Upload a file which you would click on to add a file yourself from your computer. Which repositories are included depends on which ones have been enabled by the administrator and also the context in which you access the file picker. For example, if you have reached the file picker by clicking on the media icon in the TinyMCE text editor then you might see the Youtube videos repository link. If you have reached the file picker by clicking on the image icon in the TinyMCE text editor then you might see the Flickr repository repository link. See Repositories for the list of available repositories. Note: The order in which repositories are listed in the file picker is set by an administrator in Settings > Site administration > Plugins > Repositories > Manage repositories. Viewing your files in the file picker There are three ways to view files in the File picker, depending on your personal preference; View as icons This shows the files as easily identifiable thumbnails: View as table This shows the files with details such as licence, date uploaded, size etc.: View as a list This shows the files in a hierarchical list: Source: docs.moodle.org/503/en/File picker — MoodleDocs (GPL) · Imported 2026-11-10. File picker FAQ Here are some common question about Moodle's File picker. You might also find File FAQ and Folder FAQ useful. 1 Who can access the file I uploaded? 2 Where is the file I uploaded? 2.1 If you can't find the file in the file picker view . . . 3 Can I move items around in the file picker? 4 How can I create shared folders of common files for others to access? 5 Can I have my own file storage area?? 6 Is there a way to upload a lot of files at once? 7 Is there a way to delete files from the file picker? 8 How can I add Flickr, Picasa, Google Docs etc. in the file picker? 9 How can the order in which repositories are listed in the file picker be changed? 10 See also Who can access the file I uploaded? Anyone enrolled in a course area where the file is displayed can access that file. Anyone with editing access in a course area where the file is displayed can link to that file in turn. If you want to prevent either of these kinds of access, use your Private Files. Where is the file I uploaded? Technically speaking, if you have uploaded a file into Moodle it is STORED in a database. Filepicker just lets you see a view of the files in the database that you have access to in various places. If you can't find the file in the file picker view . . . Look in Recent Files first - this shows (by default) the last 50 files a user uploaded. NOTE: Recent files will only show files of the type it thinks you want - so if you are searching from within the image icon in the TinyMCE editor for example, then Recent files will only show images you uploaded and not, say, Word documents. If it isn't in Recent files then try to find where you uploaded it originally, i.e. into which course and into which context (section of a course or activity type) Click Server files Follow the breadcrumb (navigation) trail back to the category in which the course is where you uploaded your file Click the course where you uploaded your file You will find your file in a folder with the same name inside that course. You can then select it and use in a different place in Moodle. Can I move items around in the file picker? No. Moodle associates files with activities. You need to navigate to these activities to link to them. How can I create shared folders of common files for others to access? When creating a folder of files using add a resource > folder the files are then visible and editable to other teachers in the course. The resource can be hidden with the "eye" icon to keep it out of student view. It is also possible for someone with server access to create a File system repository as a common area into which they FTP materials for teachers to access in their courses. However, this involves admin rights and FTP access to the server and so for regular users is not particularly practical. Can I have my own file storage area?? There is a Private files link is visible in the file picker if the admin has enabled it in 'Administration > Site administration > Plugins > Repositories > Manage repositories. If this is the case then a user will have a link in their profile settings (and, if added, in a side block) to a personal area into which they can upload files and organise folders. The uploaded files and folders may then be selected from the Private files link in the file picker. Is there a way to upload a lot of files at once? Yes - add your files to a folder on your computer; zip/compress the folder; upload the zipped folder and then unzip it within Moodle. Depending on what you want to do with the files you would either use the File or Folder resource. You can also drag and drop a zipped folder directly onto your course page. Is there a way to delete files from the file picker? See Repositories FAQ. You cannot delete files, since they may be used elsewhere. The system cleans them up after a period of time. How can I add Flickr, Picasa, Google Docs etc. in the file picker? An admin can enable additional repositories which then appear in the file picker in Administration > Site administration > Plugins > Repositories > Manage repositories. How can the order in which repositories are listed in the file picker be changed? An admin can use the up and down arrows in Administration > Site administration > Plugins > Repositories > Manage repositories to set the order in which repositories are shown in the file picker. See also Repositories Source: docs.moodle.org/503/en/File picker FAQ — MoodleDocs (GPL) · Imported 2026-11-10. File system repository The file system repository allows access to files which have been uploaded (e.g. via FTP) into designated folders on the server. (Note that these folders are not created inside the Moodle site, but on the server where Moodle is hosted.) A file system repository may be available site wide for everyone or within an individual course (set up by admin) or for an individual administrator. See MDL-28656 regarding course and individual repository configuration. This must be done by a systems admin who has write permissions to the server directories. When a file from the file system repository is re-used elsewhere on Moodle, the teacher has the option to make a copy (a new, unconnected version) or to create a shortcut or alias. See Working with files for more details. Once a repository has been created and files uploaded to it, the files can be made available within the file picker for use within a course. There are several steps to take to implement this feature:- These must be done by a systems admin who has write permissions to the server directories and admin permissions within Moodle. 1 Creating folders for your file system repositories 2 Enabling the File System repository plugin 3 Setting up a site-wide file system repository 4 Setting up a repository inside a course 5 Setting up an individual file system repository instance 5.1 Using a File System repository file 6 Repository capabilities 7 See also Creating folders for your file system repositories Find the moodledata folder on the server Inside it, create a folder called "repository" Inside that folder, create as many folders as you need, named appropriately. Creating repositories on the server Copy into the appropriate folder the files you want (using FTP, SFTP, shared folder etc.). (The folders can hold all types of files) Enabling the File System repository plugin Go to Administration > Site administration > Plugins > Repositories > Manage Repositories; Select from the drop down next to File system "Enabled and visible" Note: Ignore the similarly named repository 'Server Files' (enabled by default). Click the Settings link.. Setting up a site-wide file system repository Having clicked the "Settings" link as above: Scroll down to Repositories instances of the site Click Create a repository instance Give it a name and (if there are several folders on the server) choose from the dropdown the one you want. Click Save. It will now be available in the file picker in all courses. Creating a new file system repository Selecting and naming the repository NOTE: Just repeat the process to get more than one site wide file system repository Setting up a repository inside a course NOTE only Moodle admins can do this Enable repositories as in the instructions above. On the Settings page: Check the top box allowing users to add a repository instance to the course (1 below) Go to the desired course and click on “repositories” in the administration block(2 below) Scroll down and click "Create File System instance" (3 below) 1:Enable course repositories 2:Click "Repositories" in Course admin 3:Click to create an instance in the course Follow the same process as here Setting up an individual file system repository instance NOTE: Only Moodle admins can do this Enable repositories as in the instructions above. On the Settings page: Check the top box allowing users to add a repository instance to the user context (1 below) From the user menu, click "Preferences" Click on “Repositories” Click “Create File System instance” Follow the same process as here This will create a personal file system repository connecting just you to a folder on the server (2 below) 1:Enable user repository instances 2:Adding files from individual repository Upload any files required by course creators to the appropriate folders Server permissions are needed here to add via FTP (or other method) the required files. From this point on the check boxes need not be set - leaving them set just invites people to create a repository instance and then advises them that they do not have sufficient privilges. Using a File System repository file A user can now make use of the uploaded files by accessing the repository from within the file picker, creating a resource link to a document, for example. This process copies the uploaded file into Moodle and students may access the resource. It's possible to search the files in the File system repository to make locating files easier if there are many files available. Searching the file system repository Note that file types are respected (based on file extensions), so if you are adding an image in the editor, then you won't see Office docs (for example) appear in the File Picker. Repository capabilities There is just one capability, View file system repository, which is allowed for the default manager, course creator, non-editing teacher and editing teacher roles. It is not set for the authenticated user role. Thus, students cannot by default view the file system repository. See also File system repository FAQ Restoring file aliases Overview of Repositories FTP files into Moodle 2.0 with the repository API article from somerandomthoughts.com including screencast Source: docs.moodle.org/503/en/File system repository — MoodleDocs (GPL) · Imported 2026-11-10. File system repository FAQ How do the files get into the File system repository? Files must be uploaded to the folder on the server via FTP This is done by those who have FTP access to that folder. If you don't have this access, ask your system admin if they are able to set this up for you. Is there a way to upload files to a File system repository from inside Moodle? No. You use a repository to get files from elsewhere and bring them into Moodle. They are not for uploading files into. In other words, repositories are for "pulling" content into Moodle; not for "pushing" it outside of Moodle. I already have a folder called "repository" on my server. Why do I need to make another one? There is a folder called "repository" in your Moodle directory. This houses the code for all the repositories Moodle accepts, such as Googledocs, Flickr etc. This folder is not suitable for creating new folders for your staff to FTP documents into. For the file system repository to work you have to create a new folder named "repository" in the Moodledata folder and add your own folders into there: Source: docs.moodle.org/503/en/File system repository FAQ — MoodleDocs (GPL) · Imported 2026-11-10. File system repository configuration The file system repository allows access to files which have been uploaded (e.g. via FTP) into designated folders on the server. (Note that these folders are not created inside the Moodle site, but on the server where Moodle is hosted.) A file system repository may be available site wide for everyone or within an individual course (set up by admin) or for an individual administrator. See MDL-28656 regarding course and individual repository configuration. This must be done by a systems admin who has write permissions to the server directories. When a file from the file system repository is re-used elsewhere on Moodle, the teacher has the option to make a copy (a new, unconnected version) or to create a shortcut or alias. See Working with files for more details. Once a repository has been created and files uploaded to it, the files can be made available within the file picker for use within a course. There are several steps to take to implement this feature:- These must be done by a systems admin who has write permissions to the server directories and admin permissions within Moodle. 1 Creating folders for your file system repositories 2 Enabling the File System repository plugin 3 Setting up a site-wide file system repository 4 Setting up a repository inside a course 5 Setting up an individual file system repository instance 5.1 Using a File System repository file 6 Repository capabilities 7 See also Creating folders for your file system repositories Find the moodledata folder on the server Inside it, create a folder called "repository" Inside that folder, create as many folders as you need, named appropriately. Creating repositories on the server Copy into the appropriate folder the files you want (using FTP, SFTP, shared folder etc.). (The folders can hold all types of files) Enabling the File System repository plugin Go to Administration > Site administration > Plugins > Repositories > Manage Repositories; Select from the drop down next to File system "Enabled and visible" Note: Ignore the similarly named repository 'Server Files' (enabled by default). Click the Settings link.. Setting up a site-wide file system repository Having clicked the "Settings" link as above: Scroll down to Repositories instances of the site Click Create a repository instance Give it a name and (if there are several folders on the server) choose from the dropdown the one you want. Click Save. It will now be available in the file picker in all courses. Creating a new file system repository Selecting and naming the repository NOTE: Just repeat the process to get more than one site wide file system repository Setting up a repository inside a course NOTE only Moodle admins can do this Enable repositories as in the instructions above. On the Settings page: Check the top box allowing users to add a repository instance to the course (1 below) Go to the desired course and click on “repositories” in the administration block(2 below) Scroll down and click "Create File System instance" (3 below) 1:Enable course repositories 2:Click "Repositories" in Course admin 3:Click to create an instance in the course Follow the same process as here Setting up an individual file system repository instance NOTE: Only Moodle admins can do this Enable repositories as in the instructions above. On the Settings page: Check the top box allowing users to add a repository instance to the user context (1 below) From the user menu, click "Preferences" Click on “Repositories” Click “Create File System instance” Follow the same process as here This will create a personal file system repository connecting just you to a folder on the server (2 below) 1:Enable user repository instances 2:Adding files from individual repository Upload any files required by course creators to the appropriate folders Server permissions are needed here to add via FTP (or other method) the required files. From this point on the check boxes need not be set - leaving them set just invites people to create a repository instance and then advises them that they do not have sufficient privilges. Using a File System repository file A user can now make use of the uploaded files by accessing the repository from within the file picker, creating a resource link to a document, for example. This process copies the uploaded file into Moodle and students may access the resource. It's possible to search the files in the File system repository to make locating files easier if there are many files available. Searching the file system repository Note that file types are respected (based on file extensions), so if you are adding an image in the editor, then you won't see Office docs (for example) appear in the File Picker. Repository capabilities There is just one capability, View file system repository, which is allowed for the default manager, course creator, non-editing teacher and editing teacher roles. It is not set for the authenticated user role. Thus, students cannot by default view the file system repository. See also File system repository FAQ Restoring file aliases Overview of Repositories FTP files into Moodle 2.0 with the repository API article from somerandomthoughts.com including screencast Source: docs.moodle.org/503/en/File system repository configuration — MoodleDocs (GPL) · Imported 2026-11-10. File types 1 Adding files to your course 1.1 Drag and drop 1.2 Add a resource or activity 2 Unzipping uploaded files 3 Viewing uploaded files 4 Editing or updating uploaded files 5 Creating a link to a file 6 SCORM files cannot be updated where alias/shortcut are used 6.1 Areas where links cannot be made 7 Site administration settings 7.1 Adding a new file type 7.2 Restricting allowed file types 7.3 Removing a file type 7.4 Editing an existing file type 7.5 Google docs and docx 8 Alternative to MS PowerPoint and PDF files 9 See also Adding files to your course Moodle provides an easy way for a teacher to present materials to their students. These materials may take the form of files such as word-processed documents or slideshow presentations. The materials can be displayed on the page either as individual items or bundled together inside folders. One teacher might for instance wish to share a single research document in pdf format; another might have a folder of sample past examination papers for students to download. Most types of files can be uploaded and accessed through Moodle but the student needs to have the correct software to be able to open them. To add files to a Moodle course, you must first ensure you have the editing turned on. Drag and drop If you are using a modern browser, you can simply click, hold and drag and drop a file directly onto your course page. You will know if drag and drop is available to you because you will (briefly) see a message at the top of your screen: To drag and drop a folder, you must first compress/zip it using whichever program your computer has. Load video YouTube YouTube might collect personal data. Privacy Policy Dragging and dropping files Add a resource or activity Instead of drag and drop, you can click the link 'Add an activity or resource' and select either File or Folder from the activity chooser. Load video YouTube YouTube might collect personal data. Privacy Policy Uploading files The screen for uploading and displaying a file (or folder of files) includes an "add" button. Clicking on this button takes you to the File picker which is the name given to the file storage and access area within Moodle. Find out more about the places you can upload or add files from in the File picker page. There is also a block (with an arrow) into which you can drag and drop a file straight from your desktop into Moodle. Unzipping uploaded files If you upload a single zipped file, Moodle will automatically unzip it for your students to see it in Moodle. If you upload a number of files as a single zipped file, either as File, nor inside a Folder, Moodle will force the download. Viewing uploaded files Once uploaded, files appear as thumbnails in the file manager for easy recognition. Files view can be easily toggled between icons view or a table view with sizes and dates, or a hierarchical list view. File picker icon view File picker table view File picker hierarchical list view Editing or updating uploaded files Clicking on the name of an uploaded file opens up a pop up dialogue box which allows file details quickly to be altered. Creating a link to a file When an uploaded file - or a file from the Content bank, Private files, Dropbox, File system or NextCloud repositories - is re-used elsewhere on Moodle, the teacher has the option to make a copy (a new, unconnected version) or to link to it (formerly known as a shortcut or alias). If a link is created, then when the original file is updated, it will change in all instances of the link. So a teacher might add course notes to their private files for example, and then add them into a number of courses. When the teacher makes an alteration in the file in their private files, this alteration will be reflected in all instances of the course notes. A link can be recognised by its thumbnail. See the difference in the screenshot below between the original file (left) and the link (right): To update a file, go to its original location (for example Private files) and upload your new version with the same name . You will be prompted to override or rename the file. Choose "override" and this file will replace your original file and the alisas/shortcuts will remain and all be updated to your latest version. Creating a link SCORM files cannot be updated where alias/shortcut are used Note: while it is possible to create alias files for SCORM activities, it is not possible to update the source file and have changes replicated in the alias. Updating the original SCORM (.zip) file will update this location but all alias will convert to 'true copies' of the original and alias will be removed. Areas where links cannot be made A link cannot be made in the following areas of Moodle: an assignment submission a forum post attachment a workshop submission a quiz essay a database activity file field This is to prevent cases such as a student uploading an item for assessment and then subsequently changing the original in their private files. When a student uses a file from their private files in one of these instances, they do not see the options to "copy" or "link". Below is an example of a file added to an assignment: Assignment submission with no option to create an alias Site administration settings An administrator can add new file types and view, edit and delete existing file types from Site administration > Server > File types. This means that, for example, if teachers and students on your site use a lot of files specific to a particular program, such files can now be recognised by Moodle, and, when downloaded, they will open in the correct program, rather than presenting themselves as a generic zip file. Some examples from the list Adding a new file type 1. Scroll down to the bottom of the page and click the "Add" button 2. Add the details of your file type, using the example below as a guide. This example will add the .mobi extension (for a Kindle ebook) with the standard document icon. Adding a new filetype NOTE: The mimetype is set for a file when it is added/uploaded in Moodle (not when it is downloaded). If you change the mimetype associated with a file extension it will not make any difference to existing files. Only files uploaded in the future will have the new mimetype. 3. Click to save the changes and you will see your new file type has been added to the list: New type in the list Restricting allowed file types Allowed file types for Workshop submissions may be restricted It is possible to restrict file types for assignments. See Assignment settings. Removing a file type Clicking the X next to a file type will remove it from the site. You will be prompted to confirm before deletion. Editing an existing file type Clicking the edit icon next to a file type will allow you to change certain details, for example the associated icon and description. If you don't wish to use the default description, you can specify your own custom description (with multi-language tags if your site supports multi-languages) or you can use an alternative language string from mimetypes.php. Google docs and docx Importing Google docs files as docx. See https://moodle.org/mod/forum/discuss.php?d=320144 Alternative to MS PowerPoint and PDF files The Presentation additional plugin displays multimedia HTML5 presentations and slide shows in users' web browsers. A web friendly and more feature rich alternative to MS PowerPoint and PDF. However, presentations must be uploaded to moodledata via FTP and you'll need to learn some basic HTML to create presentations for it. See also How to share a single file with students: File resource. How to share a folder of files with students: Folder. Questions about the file picker: File picker FAQ. Restoring file aliases Source: docs.moodle.org/503/en/File types — MoodleDocs (GPL) · Imported 2026-11-10. Files 1 Adding files to your course 1.1 Drag and drop 1.2 Add a resource or activity 2 Unzipping uploaded files 3 Viewing uploaded files 4 Editing or updating uploaded files 5 Creating a link to a file 6 SCORM files cannot be updated where alias/shortcut are used 6.1 Areas where links cannot be made 7 Site administration settings 7.1 Adding a new file type 7.2 Restricting allowed file types 7.3 Removing a file type 7.4 Editing an existing file type 7.5 Google docs and docx 8 Alternative to MS PowerPoint and PDF files 9 See also Adding files to your course Moodle provides an easy way for a teacher to present materials to their students. These materials may take the form of files such as word-processed documents or slideshow presentations. The materials can be displayed on the page either as individual items or bundled together inside folders. One teacher might for instance wish to share a single research document in pdf format; another might have a folder of sample past examination papers for students to download. Most types of files can be uploaded and accessed through Moodle but the student needs to have the correct software to be able to open them. To add files to a Moodle course, you must first ensure you have the editing turned on. Drag and drop If you are using a modern browser, you can simply click, hold and drag and drop a file directly onto your course page. You will know if drag and drop is available to you because you will (briefly) see a message at the top of your screen: To drag and drop a folder, you must first compress/zip it using whichever program your computer has. Load video YouTube YouTube might collect personal data. Privacy Policy Dragging and dropping files Add a resource or activity Instead of drag and drop, you can click the link 'Add an activity or resource' and select either File or Folder from the activity chooser. Load video YouTube YouTube might collect personal data. Privacy Policy Uploading files The screen for uploading and displaying a file (or folder of files) includes an "add" button. Clicking on this button takes you to the File picker which is the name given to the file storage and access area within Moodle. Find out more about the places you can upload or add files from in the File picker page. There is also a block (with an arrow) into which you can drag and drop a file straight from your desktop into Moodle. Unzipping uploaded files If you upload a single zipped file, Moodle will automatically unzip it for your students to see it in Moodle. If you upload a number of files as a single zipped file, either as File, nor inside a Folder, Moodle will force the download. Viewing uploaded files Once uploaded, files appear as thumbnails in the file manager for easy recognition. Files view can be easily toggled between icons view or a table view with sizes and dates, or a hierarchical list view. File picker icon view File picker table view File picker hierarchical list view Editing or updating uploaded files Clicking on the name of an uploaded file opens up a pop up dialogue box which allows file details quickly to be altered. Creating a link to a file When an uploaded file - or a file from the Content bank, Private files, Dropbox, File system or NextCloud repositories - is re-used elsewhere on Moodle, the teacher has the option to make a copy (a new, unconnected version) or to link to it (formerly known as a shortcut or alias). If a link is created, then when the original file is updated, it will change in all instances of the link. So a teacher might add course notes to their private files for example, and then add them into a number of courses. When the teacher makes an alteration in the file in their private files, this alteration will be reflected in all instances of the course notes. A link can be recognised by its thumbnail. See the difference in the screenshot below between the original file (left) and the link (right): To update a file, go to its original location (for example Private files) and upload your new version with the same name . You will be prompted to override or rename the file. Choose "override" and this file will replace your original file and the alisas/shortcuts will remain and all be updated to your latest version. Creating a link SCORM files cannot be updated where alias/shortcut are used Note: while it is possible to create alias files for SCORM activities, it is not possible to update the source file and have changes replicated in the alias. Updating the original SCORM (.zip) file will update this location but all alias will convert to 'true copies' of the original and alias will be removed. Areas where links cannot be made A link cannot be made in the following areas of Moodle: an assignment submission a forum post attachment a workshop submission a quiz essay a database activity file field This is to prevent cases such as a student uploading an item for assessment and then subsequently changing the original in their private files. When a student uses a file from their private files in one of these instances, they do not see the options to "copy" or "link". Below is an example of a file added to an assignment: Assignment submission with no option to create an alias Site administration settings An administrator can add new file types and view, edit and delete existing file types from Site administration > Server > File types. This means that, for example, if teachers and students on your site use a lot of files specific to a particular program, such files can now be recognised by Moodle, and, when downloaded, they will open in the correct program, rather than presenting themselves as a generic zip file. Some examples from the list Adding a new file type 1. Scroll down to the bottom of the page and click the "Add" button 2. Add the details of your file type, using the example below as a guide. This example will add the .mobi extension (for a Kindle ebook) with the standard document icon. Adding a new filetype NOTE: The mimetype is set for a file when it is added/uploaded in Moodle (not when it is downloaded). If you change the mimetype associated with a file extension it will not make any difference to existing files. Only files uploaded in the future will have the new mimetype. 3. Click to save the changes and you will see your new file type has been added to the list: New type in the list Restricting allowed file types Allowed file types for Workshop submissions may be restricted It is possible to restrict file types for assignments. See Assignment settings. Removing a file type Clicking the X next to a file type will remove it from the site. You will be prompted to confirm before deletion. Editing an existing file type Clicking the edit icon next to a file type will allow you to change certain details, for example the associated icon and description. If you don't wish to use the default description, you can specify your own custom description (with multi-language tags if your site supports multi-languages) or you can use an alternative language string from mimetypes.php. Google docs and docx Importing Google docs files as docx. See https://moodle.org/mod/forum/discuss.php?d=320144 Alternative to MS PowerPoint and PDF files The Presentation additional plugin displays multimedia HTML5 presentations and slide shows in users' web browsers. A web friendly and more feature rich alternative to MS PowerPoint and PDF. However, presentations must be uploaded to moodledata via FTP and you'll need to learn some basic HTML to create presentations for it. See also How to share a single file with students: File resource. How to share a folder of files with students: Folder. Questions about the file picker: File picker FAQ. Restoring file aliases Source: docs.moodle.org/503/en/Files — MoodleDocs (GPL) · Imported 2026-11-10. Filter Filters can be used to add links, insert multimedia players, convert Mathematical expressions or emoticons into images and more. A filter may be enabled at the site level and then removed as needed at the course or activity level. Thus a teacher can disable glossary auto-linking in a quiz for example. Load video YouTube YouTube might collect personal data. Privacy Policy Overview of course filters Standard filters Filters in Moodle include: Activity names auto-linking - Scans course text for activity titles that exist in the same course and creates a link to them Algebra notation - Convert algebra code into images Code highlighter filter - adds colour to code in the TinyMCE editor. Convert URLs into links and images - Converts URLs in selected formats, such as Moodle auto-format, to click-able links Database auto-linking - Enables automatic linking of course Database activity entries Display emoticons as images - Converts textual emoticon (smiley) characters into images Email protection - Obfuscates email address links to make them more difficult for spammers to harvest Glossary auto-linking - Scans text for glossary entries that exist in the same course and creates a link MathJax - For adding mathematical equations and expressions using an equation editor Multimedia plugins - Converts HTML links in text that points to a multimedia resource and replaces the link with an appropriate multimedia players Multi-Language content - Enables resources to be created in multiple languages TeX notation Displaying math formulae in TeX notation using images Word censorship - This filter "blacks out" words found on a list you can manage Contributed filters Filters have also been made by developers in the community. Some docs online for these include: FontAwesome - This scans text for icons that can be embedded using the FontAwesome icon set. IPA - Renders simple X-SAMPA markup in the International Phonetic Alphabet PoodLL - is the core PoodLL plugin for Moodle. It contains all the recorders, widgets and the code that makes it possible to use them around Moodle. It is a required component for all the other PoodLL plugins. filter generico - gives you considerable ability to customize your Moodle site without having to resort to multiple plugins, or custom PHP coding filter multiembed - Facilitates embedding of third-party content from a growing list of service providers (e.g. Prezi, Haiku Deck, etc.) See also Managing filters Common filter settings for the site Filters FAQ Source: docs.moodle.org/503/en/Filter — MoodleDocs (GPL) · Imported 2026-11-10. Filter settings 1 Site administration settings 1.1 Common filter settings 1.2 File activity module setting 2 See also Site administration settings Common filter settings A site administrator can change the following settings in Settings > Site administration > Plugins > Filters > Common filter settings: Text cache lifetime - Text filters can take a lot of processor power to analyse. If you have a large number of courses, the filters may slow your system. The text cache lifetime determines how often the filters run. If you set them to run too frequently, your system may slow down. If you set them to run too infrequently, analysing new content will take too long and users will notice. You should experiment to find the correct amount of time for your server. Filter uploaded files - This setting enables uploaded files (HTML and text only) to be processed by the filters system. You can choose to have none, only HTML or all files filtered. Filter match once per page - This setting affects the glossary, activity and resource linking filters. If set to yes, only the first match on the complete page will be converted to a link. All others will be ignored. Filter match once per text - This setting affects the glossary, activity and resource linking filters. If set to yes, only the first match in a discrete block of text will be converted to a link. All others in that text block will be ignored. File activity module setting A site administrator can change the following setting in Administration > Site administration > Plugins > Activity modules > File: Use filters on file content - This applies to content in HTML and XHTML pages. See also Managing filters Source: docs.moodle.org/503/en/Filter settings — MoodleDocs (GPL) · Imported 2026-11-10. Filters Filters can be used to add links, insert multimedia players, convert Mathematical expressions or emoticons into images and more. A filter may be enabled at the site level and then removed as needed at the course or activity level. Thus a teacher can disable glossary auto-linking in a quiz for example. Load video YouTube YouTube might collect personal data. Privacy Policy Overview of course filters Standard filters Filters in Moodle include: Activity names auto-linking - Scans course text for activity titles that exist in the same course and creates a link to them Algebra notation - Convert algebra code into images Code highlighter filter - adds colour to code in the TinyMCE editor. Convert URLs into links and images - Converts URLs in selected formats, such as Moodle auto-format, to click-able links Database auto-linking - Enables automatic linking of course Database activity entries Display emoticons as images - Converts textual emoticon (smiley) characters into images Email protection - Obfuscates email address links to make them more difficult for spammers to harvest Glossary auto-linking - Scans text for glossary entries that exist in the same course and creates a link MathJax - For adding mathematical equations and expressions using an equation editor Multimedia plugins - Converts HTML links in text that points to a multimedia resource and replaces the link with an appropriate multimedia players Multi-Language content - Enables resources to be created in multiple languages TeX notation Displaying math formulae in TeX notation using images Word censorship - This filter "blacks out" words found on a list you can manage Contributed filters Filters have also been made by developers in the community. Some docs online for these include: FontAwesome - This scans text for icons that can be embedded using the FontAwesome icon set. IPA - Renders simple X-SAMPA markup in the International Phonetic Alphabet PoodLL - is the core PoodLL plugin for Moodle. It contains all the recorders, widgets and the code that makes it possible to use them around Moodle. It is a required component for all the other PoodLL plugins. filter generico - gives you considerable ability to customize your Moodle site without having to resort to multiple plugins, or custom PHP coding filter multiembed - Facilitates embedding of third-party content from a growing list of service providers (e.g. Prezi, Haiku Deck, etc.) See also Managing filters Common filter settings for the site Filters FAQ Source: docs.moodle.org/503/en/Filters — MoodleDocs (GPL) · Imported 2026-11-10. Filters FAQ 1 What are filters? 2 How do I enable filters? 3 Why is my filter not working? 4 Where do I find additional filters? 5 See also What are filters? Filters allow for the automatic transformation of entered text into different, often more complex forms. For example, the titles of resources can automatically become hyperlinks that take you to the relevant resource, URLs pointing to mp3 files can become Flash controls embedded in the web page that let you pause and rewind the audio. The possibilities are endless and there are a number of standard filters included with Moodle and many more specialized filters available from the Moodle.org Modules and plugins database. See Filters for details. How do I enable filters? You find the settings under Administration > Site administration > Plugins > Filters > Manage filters, see Managing filters for details. Why is my filter not working? After checking that the filter is enabled for the site, course and activity or resource, go to Site administration > Plugins > Filters > Manage filters and try moving the filter higher up the list. See the forum discussion Moodle Media player not appearing for an example. If you have enabled the automatic URL conversion filter but do not see the result in forum posts or on a page resource, you will need to enable HTML content in "filter_urltolink | formats". Where do I find additional filters? You will find a number of contributed filters in the Moodle Plugins directory. See also Filters used on the Moodle.org forums Source: docs.moodle.org/503/en/Filters FAQ — MoodleDocs (GPL) · Imported 2026-11-10. Filters used on the Moodle.org forums The Moodle.org forums have a number of filters to make it easier to talk about Moodle. This page lists them. 1 Standard filters 2 Contributed filters 2.1 Tracker issue auto-linking 2.2 Moodle Docs auto-linking 2.3 Auto-linking phrases Standard filters Email protection Display emoticons as images Convert URLs into links Glossary auto-linking - Automatically links to things defined in the Glossary of common terms when the term is mentioned. Multi language content Multimedia plugins (with default settings i.e. all media format filters except .swf are enabled). MathJax Filters which are off, but available Activity names auto-linking Database auto-linking Contributed filters Tracker issue auto-linking Automatically links to tracker issues when you type the issue number e.g. MDL-1234. Moodle Docs auto-linking Get this filter from GitHub: Docs linking filter Automatically links to a page in the user documentation wiki (most recent version) when you type the page title enclosed in double square brackets. For example, to link to https://docs.moodle.org/en/Philosophy type [[Philosophy]] To link to a page in the developer docs, add an extra pipe "|" divider followed by dev. For example, to link to https://docs.moodle.org/dev/Plugins type [[Plugins||dev]] or [[Plugins|Plugins developer documentation|dev]] To link to a page in a documentation wiki in another language, add an extra pipe "|" divider followed by the language code. For example, to link to https://docs.moodle.org/es/Los_10_mitos_de_Moodle type [[Los 10 mitos de Moodle||es]] or [[Los 10 mitos de Moodle|Top 10 Moodle Myths in Spanish|es]] Auto-linking phrases Get this filter from GitHub: Auto-linking phrases filter Phrase Link Moodle Academy https://moodle.academy MoodleCloud https://moodlecloud.com MoodleNet https://moodle.net Moodle Roadmap https://moodledev.io/general/community/roadmap Moodle Themes http://moodle.org/themes Moodle Tracker http://tracker.moodle.org/ Moodle jobs http://moodle.org/jobs Moodle books http://moodle.org/books Plugins directory http://moodle.org/plugins/ Source: docs.moodle.org/503/en/Filters used on the Moodle.org forums — MoodleDocs (GPL) · Imported 2026-11-10. Flickr Enabling the Flickr portfolio (admin settings) Go to Administration>Site administration>Advanced features and enable portfolios Go to Administration > Site administration > Plugins > Portfolios > Manage Portfolios; Select from the drop down next to Flickr "Enabled and visible" Click the "Settings" link and -if desired -give the Flickr portfolio a new name Log in to Flickr and apply for a new API key, using the link provided on the Settings page. A screen will appear with a key and a "secret". Copy both and paste into the boxes on the Settings page. Go back to the Flickr screen and click on "edit auth flow for this app" Click "Select app type" and choose "web application" Into the "Callback URL" box, paste the URL you are given on your Flickr Settings page and save. Save the Settings. Sending/"pushing" an image to Flickr You can export to Flickr images attached to forum posts or uploaded in assignments, for example. The image will have an arrow icon next to it.Click this to export to Flickr.com If other portfolios have been enabled, choose Flickr.com from the dropdown menu.If not, then it will be your only choice! Click "Next" If you have not logged in before you will be asked for permission to connect to Flickr. Give authorisation and on the next screen, choose your sharing and privacy options: Click "Next" and confirm your settings: You will receive a message "export complete". Clicking "Continue" will take you - if you wish - to your Flickr account. See also MDL-59645 - Flickr authentication flow stopped working - fixed in Moodle 3.3.3 onwards Source: docs.moodle.org/503/en/Flickr — MoodleDocs (GPL) · Imported 2026-11-10. Flickr Public Configuration The Flickr public repository enables a user to search Flickr and copy files from there into any of the Moodle file interfaces. 1 Flickr public repository setup 1.1 Setting up a Flickr API 2 Repository capabilities 3 See also Flickr public repository setup Location: Site administration > Modules > Repositories > Manage repositories This page lets a site administrator configure access to a Flickr Public repository. To set this repository up you need to set an API key. Setting up a Flickr API To get your API key you need to create an App inside your Flickr account. Visit http://www.flickr.com/services/api/keys/ to start creating your own API Key. Click the "Get Another Key" button to start creating your App. Choose "Apply for a Non-commercial Key" Enter a title and brief description for the App (i.e. Moodle to Flickr Access - App to allow Moodle to access Flickr through its repository API) Tick the two boxes to show your agreement to Flickr's terms of use and then click submit. You will now have the key for the new app. Copy and paste this into the field in your Moodle Flickr public configuration page. Click save on the Moodle Flickr public configuration page. Click "Save Changes" You should now have a working Flickr public repository. From the File picker, click Flickr public and enter your required search term. Images will appear for you to select from: Searching Flickr public The search results Repository capabilities There is just one capability, Use Flickr public repository in file picker, which is allowed for the default authenticated user role. See also Flickr repository Source: docs.moodle.org/503/en/Flickr Public Configuration — MoodleDocs (GPL) · Imported 2026-11-10. Flickr configuration The Flickr repository enables a user to log into their Flickr account and copy files from their account into any of the Moodle file interfaces. 1 Flickr repository setup 2 Setting up a Flickr API 3 Repository capabilities 4 See also Flickr repository setup Location: Administration > Site administration > Plugins > Repositories > Manage repositories This page lets a site administrator configure access to a Flickr repository. To set this repository up you need to set the following two fields: API Key Secret Setting up a Flickr API To get your API Key and Secret you need to create an App inside your Flickr account. Visit this link to start creating your own API Key and secret. Click the "Get Another Key" button to start creating your App. Choose "Apply for a Non-commercial Key" Enter a title and brief description for the App (i.e. Moodle to Flickr Access - App to allow Moodle to access Flickr through its repository API) Tick the two boxes to show your agreement to Flickr's terms of use and then click submit. You will now have the key and secret for the new app. Copy and paste these into the fields in your Moodle Flickr configuration page. Click save on the Moodle Flickr configuration page. Revisit the settings of your Flickr repository in Moodle and copy the callback URL from that page. Revisit your Flickr App page and click on the "Edit Auth Flow for this App" link Paste the URL from your Moodle page into the Callback URL field on your Flickr App Click "Save Changes" You should now have a working Flickr repository. Try adding a file from your Flickr account as a resource in Moodle to test it! Repository capabilities There is just one capability, View Flickr repository, which is allowed for the default authenticated user role. See also Flickr public repository MDL-59645 - Flickr authentication flow stopped working - fixed in Moodle 3.3.3 onwards Source: docs.moodle.org/503/en/Flickr configuration — MoodleDocs (GPL) · Imported 2026-11-10. Flickr public repository The Flickr public repository enables a user to search Flickr and copy files from there into any of the Moodle file interfaces. 1 Flickr public repository setup 1.1 Setting up a Flickr API 2 Repository capabilities 3 See also Flickr public repository setup Location: Site administration > Modules > Repositories > Manage repositories This page lets a site administrator configure access to a Flickr Public repository. To set this repository up you need to set an API key. Setting up a Flickr API To get your API key you need to create an App inside your Flickr account. Visit http://www.flickr.com/services/api/keys/ to start creating your own API Key. Click the "Get Another Key" button to start creating your App. Choose "Apply for a Non-commercial Key" Enter a title and brief description for the App (i.e. Moodle to Flickr Access - App to allow Moodle to access Flickr through its repository API) Tick the two boxes to show your agreement to Flickr's terms of use and then click submit. You will now have the key for the new app. Copy and paste this into the field in your Moodle Flickr public configuration page. Click save on the Moodle Flickr public configuration page. Click "Save Changes" You should now have a working Flickr public repository. From the File picker, click Flickr public and enter your required search term. Images will appear for you to select from: Searching Flickr public The search results Repository capabilities There is just one capability, Use Flickr public repository in file picker, which is allowed for the default authenticated user role. See also Flickr repository Source: docs.moodle.org/503/en/Flickr public repository — MoodleDocs (GPL) · Imported 2026-11-10. Flickr public repository configuration The Flickr public repository enables a user to search Flickr and copy files from there into any of the Moodle file interfaces. 1 Flickr public repository setup 1.1 Setting up a Flickr API 2 Repository capabilities 3 See also Flickr public repository setup Location: Site administration > Modules > Repositories > Manage repositories This page lets a site administrator configure access to a Flickr Public repository. To set this repository up you need to set an API key. Setting up a Flickr API To get your API key you need to create an App inside your Flickr account. Visit http://www.flickr.com/services/api/keys/ to start creating your own API Key. Click the "Get Another Key" button to start creating your App. Choose "Apply for a Non-commercial Key" Enter a title and brief description for the App (i.e. Moodle to Flickr Access - App to allow Moodle to access Flickr through its repository API) Tick the two boxes to show your agreement to Flickr's terms of use and then click submit. You will now have the key for the new app. Copy and paste this into the field in your Moodle Flickr public configuration page. Click save on the Moodle Flickr public configuration page. Click "Save Changes" You should now have a working Flickr public repository. From the File picker, click Flickr public and enter your required search term. Images will appear for you to select from: Searching Flickr public The search results Repository capabilities There is just one capability, Use Flickr public repository in file picker, which is allowed for the default authenticated user role. See also Flickr repository Source: docs.moodle.org/503/en/Flickr public repository configuration — MoodleDocs (GPL) · Imported 2026-11-10. Flickr repository The Flickr repository enables a user to log into their Flickr account and copy files from their account into any of the Moodle file interfaces. 1 Flickr repository setup 2 Setting up a Flickr API 3 Repository capabilities 4 See also Flickr repository setup Location: Administration > Site administration > Plugins > Repositories > Manage repositories This page lets a site administrator configure access to a Flickr repository. To set this repository up you need to set the following two fields: API Key Secret Setting up a Flickr API To get your API Key and Secret you need to create an App inside your Flickr account. Visit this link to start creating your own API Key and secret. Click the "Get Another Key" button to start creating your App. Choose "Apply for a Non-commercial Key" Enter a title and brief description for the App (i.e. Moodle to Flickr Access - App to allow Moodle to access Flickr through its repository API) Tick the two boxes to show your agreement to Flickr's terms of use and then click submit. You will now have the key and secret for the new app. Copy and paste these into the fields in your Moodle Flickr configuration page. Click save on the Moodle Flickr configuration page. Revisit the settings of your Flickr repository in Moodle and copy the callback URL from that page. Revisit your Flickr App page and click on the "Edit Auth Flow for this App" link Paste the URL from your Moodle page into the Callback URL field on your Flickr App Click "Save Changes" You should now have a working Flickr repository. Try adding a file from your Flickr account as a resource in Moodle to test it! Repository capabilities There is just one capability, View Flickr repository, which is allowed for the default authenticated user role. See also Flickr public repository MDL-59645 - Flickr authentication flow stopped working - fixed in Moodle 3.3.3 onwards Source: docs.moodle.org/503/en/Flickr repository — MoodleDocs (GPL) · Imported 2026-11-10. Flickr repository configuration The Flickr repository enables a user to log into their Flickr account and copy files from their account into any of the Moodle file interfaces. 1 Flickr repository setup 2 Setting up a Flickr API 3 Repository capabilities 4 See also Flickr repository setup Location: Administration > Site administration > Plugins > Repositories > Manage repositories This page lets a site administrator configure access to a Flickr repository. To set this repository up you need to set the following two fields: API Key Secret Setting up a Flickr API To get your API Key and Secret you need to create an App inside your Flickr account. Visit this link to start creating your own API Key and secret. Click the "Get Another Key" button to start creating your App. Choose "Apply for a Non-commercial Key" Enter a title and brief description for the App (i.e. Moodle to Flickr Access - App to allow Moodle to access Flickr through its repository API) Tick the two boxes to show your agreement to Flickr's terms of use and then click submit. You will now have the key and secret for the new app. Copy and paste these into the fields in your Moodle Flickr configuration page. Click save on the Moodle Flickr configuration page. Revisit the settings of your Flickr repository in Moodle and copy the callback URL from that page. Revisit your Flickr App page and click on the "Edit Auth Flow for this App" link Paste the URL from your Moodle page into the Callback URL field on your Flickr App Click "Save Changes" You should now have a working Flickr repository. Try adding a file from your Flickr account as a resource in Moodle to test it! Repository capabilities There is just one capability, View Flickr repository, which is allowed for the default authenticated user role. See also Flickr public repository MDL-59645 - Flickr authentication flow stopped working - fixed in Moodle 3.3.3 onwards Source: docs.moodle.org/503/en/Flickr repository configuration — MoodleDocs (GPL) · Imported 2026-11-10. Flickr.com portfolio Enabling the Flickr portfolio (admin settings) Go to Administration>Site administration>Advanced features and enable portfolios Go to Administration > Site administration > Plugins > Portfolios > Manage Portfolios; Select from the drop down next to Flickr "Enabled and visible" Click the "Settings" link and -if desired -give the Flickr portfolio a new name Log in to Flickr and apply for a new API key, using the link provided on the Settings page. A screen will appear with a key and a "secret". Copy both and paste into the boxes on the Settings page. Go back to the Flickr screen and click on "edit auth flow for this app" Click "Select app type" and choose "web application" Into the "Callback URL" box, paste the URL you are given on your Flickr Settings page and save. Save the Settings. Sending/"pushing" an image to Flickr You can export to Flickr images attached to forum posts or uploaded in assignments, for example. The image will have an arrow icon next to it.Click this to export to Flickr.com If other portfolios have been enabled, choose Flickr.com from the dropdown menu.If not, then it will be your only choice! Click "Next" If you have not logged in before you will be asked for permission to connect to Flickr. Give authorisation and on the next screen, choose your sharing and privacy options: Click "Next" and confirm your settings: You will receive a message "export complete". Clicking "Continue" will take you - if you wish - to your Flickr account. See also MDL-59645 - Flickr authentication flow stopped working - fixed in Moodle 3.3.3 onwards Source: docs.moodle.org/503/en/Flickr.com portfolio — MoodleDocs (GPL) · Imported 2026-11-10. FontAwesome filter This is a contributed (third party) filter for Moodle written by Julian (Moodleman) Ridden and shared on Moodle.org Font Awesome provides sites with scalable vector icons that can instantly be customized — size, color, drop shadow, and anything that can be done with the power of CSS. Font Awesome is fully open source and is GPL compatible. No attribution is required when using the fonts although the project does say it is appreciated. This filter makes it easy to add FontAwesome icons to course content in any FontAwesome enabled moodle site. Please be sure to target any questions related to this filter in the Filter's forums at moodle.org and bugs to the Moodle Tracker 1 Filter Objectives 2 Enabling FontAwesome in Moodle 3 Install a FontAwesome enabled theme 4 Load FontAwesome via CDN 5 Adding an icon 6 Configurable Options 6.1 Advanced Tip 7 Download link 8 See also Filter Objectives The aim of this filter was to provide an easy and functional way for content creators to easily add FontAwesome icons anywhere in course content. If using the recommended method provide by FontAwesome which involves creating custom classes you will find that the text editor strips these out automatically as unrecognised/bad code. This filter provides another mechanism to add FontAwesome icons that won't be stripped out by the editor. Enabling FontAwesome in Moodle FontAwesom icon's will not work just by adding this filter to your Moodle. The filter just facilitates adding them to content. You will need to first ensure your site has the FontAwesome font enabled before you can use this filter. You can get FontAwesome running one of two ways. Install a FontAwesome enabled theme Some Moodle themes are now coming with FontAwesome already enabled. To find out if they do just read the information found about them in the Modules and Plugins Database. One such theme that already has FontAwesome contained within is the Essential Theme by Julian Ridden. Load FontAwesome via CDN A content delivery network or content distribution network (CDN) is a large distributed system of servers deployed in multiple data centers across the Internet. The goal of a CDN is to serve content to end-users with high availability and high performance. You can pull FontAwesome into your site using any theme by adding a single line to your Admin settings. This line will connect to a dedicated CDN to reliably load FontAwesome into your moodle site. To add the CDN to your Moodle you need to add the following line to your "Additional HTML" settings in Site Administration. You can find this located under the "Appearance" menu. Once you are in the "Additional HTML" settings we need to add the following line to the "Within HEAD" section. This will then load the FontAwesome as part of every page load. It should look like the image below. Once done you are now ready to use the FontAwesome filter. Adding an icon Adding an icon to anywhere in your course that you wish is now a simple process. The hardest part is finding the icon you wish to use. To browse the full list of over 360 icons please visit this link. Once you have found the icon you are after you just have to surround it with a set of square brackets. e.g.: [fa-camera-retro] If you have typed in the icon name correctly you will see the icon appear once you have hit save. Configurable Options If you wish to make the icon larger you can use a multiplier. e.g.: [fa-camera-retro fa-2x] or [fa-camera-retro fa-4x] If you wish to rotate the icon you can specify how many degrees clockwise. e.g.: [fa-camera-retro fa-rotate-90] You can also flip an icon horizontally or vertically. e.g.: [fa-camera-retro fa-flip-horizontal] or [fa-camera-retro fa-flip-vertical] You can mute the colour to a dull grey. e.g.: [fa-camera-retro fa-muted] You can "pull" the icon to the left or right. If it is "pulled" to the left text will wrap to the right. e.g.: [fa-camera-retro pull-left] Advanced Tip All the settings above can be mixed and matched. For example, if I was to type in: [fa-quote-left fa-4x pull-left fa-muted] Use a few of the new styles together, and you've got easy pull quotes or a great introductory article image. Or spinning icons for loading and refreshing content. Or fun big icons in multi-line buttons. You can combine all of them in any combination to get lots of new possibilities. You would generate: Download link This filter is only available for Moodle 2.5 and above. You can download the filter from https://moodle.org/plugins/view.php?plugin=filter_fontawesome See also FontAwesome Filter's Plugin database listing Download latest version Browse GIT Discussion in English in the Forum Demo site FontAwesome Official website Source: docs.moodle.org/503/en/FontAwesome filter — MoodleDocs (GPL) · Imported 2026-11-10. Glossary auto-linking The Glossary auto-linking filter creates a link to a glossary activity entry whenever the word or phrase is used elsewhere in the course, such as in forum posts, labels or page resources. The link triggers a popup displaying the Concept and Definition. If more than one entry has the same "Concept" string, the first one will be linked. 1 Enabling the Glossary auto-linking filter 2 Granular control 3 Site administration settings 4 See also Enabling the Glossary auto-linking filter If enabled, a teacher can turn the filter on (or off) in the course or a particular activity via the Filters link in the administration block. Note: Enabling the Glossary auto-linking filter does not automatically turn on linking for each glossary entry. In the glossary settings, 'Automatically link glossary entries' should be set to Yes, and the checkbox 'This entry should be automatically linked' should be ticked for each glossary entry. Granular control As with most filters, you can prevent a term from being automatically linked in a particular instance by encapsulating it with a span tag This won't be processed by the filterspan> Site administration settings An administrator must enable the Glossary auto-linking filter in Site administration > Plugins > Filters. See Managing filters for more details. See also Glossary activity Source: docs.moodle.org/503/en/Glossary auto-linking — MoodleDocs (GPL) · Imported 2026-11-10. Glossary auto-linking filter The Glossary auto-linking filter creates a link to a glossary activity entry whenever the word or phrase is used elsewhere in the course, such as in forum posts, labels or page resources. The link triggers a popup displaying the Concept and Definition. If more than one entry has the same "Concept" string, the first one will be linked. 1 Enabling the Glossary auto-linking filter 2 Granular control 3 Site administration settings 4 See also Enabling the Glossary auto-linking filter If enabled, a teacher can turn the filter on (or off) in the course or a particular activity via the Filters link in the administration block. Note: Enabling the Glossary auto-linking filter does not automatically turn on linking for each glossary entry. In the glossary settings, 'Automatically link glossary entries' should be set to Yes, and the checkbox 'This entry should be automatically linked' should be ticked for each glossary entry. Granular control As with most filters, you can prevent a term from being automatically linked in a particular instance by encapsulating it with a span tag This won't be processed by the filterspan> Site administration settings An administrator must enable the Glossary auto-linking filter in Site administration > Plugins > Filters. See Managing filters for more details. See also Glossary activity Source: docs.moodle.org/503/en/Glossary auto-linking filter — MoodleDocs (GPL) · Imported 2026-11-10. Google Docs Google Drive can serve both as a repository from which users can access files they have previously uploaded from Moodle and also as a portfolio into which they can "push" files they want to keep. When using the auth/drive.file scope, users cannot browse or pull files directly from their full Google Drive; only files uploaded via Moodle will be shown. Both options need to be enabled by the administrator before they are available for teachers and students. Both options need to be enabled by the administrator before they are available for teachers and students. 1 Enabling the Google Drive repository 1.1 Troubleshooting 2 Access controlled links 3 Getting ("pulling") your files from Google Drive 4 Repository capabilities 5 See also Enabling the Google Drive repository To use the Google Drive repository, an administrator must first create a Google service (a new requirement in Moodle 3.3 onwards). Go to 'OAuth 2 services' in Site administration and click the button to create a new Google service. Follow the instructions in OAuth 2 Google service and obtain a client ID and secret. Enter the client ID and secret and save changes. Go to 'Manage repositories' in Site administration and enable the Google Drive repository. On the Google Drive configuration page, make sure that Google is selected as the OAuth 2 service then save changes. Troubleshooting If you obtain a 'This app isn't verified' message, you will need to complete a OAuth Developer Verification Form. The list of scopes that Moodle requires are: openid profile email https://www.googleapis.com/auth/drive.file. See the discussion Google Drive Repository and Moodle 3.3.1 for more details. Access controlled links Students may submit files from Google Drive as 'access controlled links' in assignments. Once submitted, the student may no longer change them, but the teacher is allowed to edit them. Teachers may display files from Google Drive as 'access controlled links'. The teacher can then continue updating the files, but students can only view them. To enable this feature, ensure that: A system account has been connected in OAuth 2 services in Site administration. This account will own and control access to files submitted by students and teachers. Teachers will be able to edit the files but students will not. This should be a dedicated account for this purpose. "Supported files" is set to "Internal and External". "Default return type" is set to "External (only links stored in Moodle)". Getting ("pulling") your files from Google Drive From the file picker, click on the Google Drive link and a prompt to log in will appear: If it is your first time, the click the "Allow access" button to log in. Log into your account Allow access Your files will display for you to choose from (you will only see files that you have previously uploaded from Moodle to Google Drive.) You also have the option to upload a new file to Google Drive using the upload icon. After uploading, the file will appear in the list and can be selected like any other repository file. You can view them in three ways by clicking one of the options at the top right. Icon view Table view List view Repository capabilities There is just one capability, View Google Drive repository, which is allowed for the default authenticated user role. See also Issue with submitting assignments via Google Drive for those using Google Education Plus OAuth 2 authentication for enabling users to log in to Moodle with their Google account Google Drive repository in 3.3 with non-institutional accounts forum discussion Google Drive Repository and Moodle 3.3.1 forum discussion Source: docs.moodle.org/503/en/Google Docs — MoodleDocs (GPL) · Imported 2026-11-10. Google Docs portfolio Google Drive can serve both as a repository from which users can "pull" files they need for their course and also a Portfolio into which they can "push" files they want to keep. Both options need to be enabled by the administrator before they are available for teachers and students. Enabling the Google Drive portfolio Note: In order to use the Google Drive repository an administrator must register their Moodle site with Google, as described in Google OAuth setup, and obtain a client ID and secret. The client ID and secret can then be used to configure all Google Drive and Picasa plugins. Log in as an administrator and go to Administration > Site administration > Plugins > Portfolios > Manage Portfolios Activate the Google Drive portfolio by selecting 'Enable and visible' in the dropdown menu Configure the Google Drive portfolio by entering the client ID and secret Save changes Sending ("pushing") your files to Google Drive You can export items such as assignments, chat and forum posts to enabled portfolios. Here is an example with a forum post: In the post menu select Export to portfolio. Next, select Google Drive as the destination from the dropdown. If it is the only portfolio enabled, it will be the only choice! Click "Next". If you haven't done this before you will be prompted to log in to your account. Agree and log in. The "export complete" message will appear. Clicking "continue" will take you to Google Drive. As an example, an exported forum post will be named "post.html" It will open up like this: Source: docs.moodle.org/503/en/Google Docs portfolio — MoodleDocs (GPL) · Imported 2026-11-10. Google Docs repository Google Drive can serve both as a repository from which users can access files they have previously uploaded from Moodle and also as a portfolio into which they can "push" files they want to keep. When using the auth/drive.file scope, users cannot browse or pull files directly from their full Google Drive; only files uploaded via Moodle will be shown. Both options need to be enabled by the administrator before they are available for teachers and students. Both options need to be enabled by the administrator before they are available for teachers and students. 1 Enabling the Google Drive repository 1.1 Troubleshooting 2 Access controlled links 3 Getting ("pulling") your files from Google Drive 4 Repository capabilities 5 See also Enabling the Google Drive repository To use the Google Drive repository, an administrator must first create a Google service (a new requirement in Moodle 3.3 onwards). Go to 'OAuth 2 services' in Site administration and click the button to create a new Google service. Follow the instructions in OAuth 2 Google service and obtain a client ID and secret. Enter the client ID and secret and save changes. Go to 'Manage repositories' in Site administration and enable the Google Drive repository. On the Google Drive configuration page, make sure that Google is selected as the OAuth 2 service then save changes. Troubleshooting If you obtain a 'This app isn't verified' message, you will need to complete a OAuth Developer Verification Form. The list of scopes that Moodle requires are: openid profile email https://www.googleapis.com/auth/drive.file. See the discussion Google Drive Repository and Moodle 3.3.1 for more details. Access controlled links Students may submit files from Google Drive as 'access controlled links' in assignments. Once submitted, the student may no longer change them, but the teacher is allowed to edit them. Teachers may display files from Google Drive as 'access controlled links'. The teacher can then continue updating the files, but students can only view them. To enable this feature, ensure that: A system account has been connected in OAuth 2 services in Site administration. This account will own and control access to files submitted by students and teachers. Teachers will be able to edit the files but students will not. This should be a dedicated account for this purpose. "Supported files" is set to "Internal and External". "Default return type" is set to "External (only links stored in Moodle)". Getting ("pulling") your files from Google Drive From the file picker, click on the Google Drive link and a prompt to log in will appear: If it is your first time, the click the "Allow access" button to log in. Log into your account Allow access Your files will display for you to choose from (you will only see files that you have previously uploaded from Moodle to Google Drive.) You also have the option to upload a new file to Google Drive using the upload icon. After uploading, the file will appear in the list and can be selected like any other repository file. You can view them in three ways by clicking one of the options at the top right. Icon view Table view List view Repository capabilities There is just one capability, View Google Drive repository, which is allowed for the default authenticated user role. See also Issue with submitting assignments via Google Drive for those using Google Education Plus OAuth 2 authentication for enabling users to log in to Moodle with their Google account Google Drive repository in 3.3 with non-institutional accounts forum discussion Google Drive Repository and Moodle 3.3.1 forum discussion Source: docs.moodle.org/503/en/Google Docs repository — MoodleDocs (GPL) · Imported 2026-11-10. Google Drive converter Files submitted by students in assignments may be converted to PDF files with the Google Drive converter. Teachers can then annotate directly on the submissions. This option provides a useful alternative for those organisations who are unable to install Unoconv for document conversion. Using the Google Drive converter To enabling the Google Drive converter, an admin must Set up and configure the OAuth 2 Google service. Connect the Google service to a system account. Go to Site administration > Server > OAuth 2 services Click on the icon under "System account connected" column if there is a red X for Google. Go to 'Document converters' in the Site administration and enable the Google Drive converter. In the settings, select Google as the OAuth 2 service, then save changes. A link is available to test the document conversion is working correctly. If you obtain a message saying that the system account is not linked, go to the OAuth 2 Google service settings and re-connect the Google service to the system account. See also Privacy concerns using the Google Document Converter forum discussion Source: docs.moodle.org/503/en/Google Drive converter — MoodleDocs (GPL) · Imported 2026-11-10. Google Drive portfolio Google Drive can serve both as a repository from which users can "pull" files they need for their course and also a Portfolio into which they can "push" files they want to keep. Both options need to be enabled by the administrator before they are available for teachers and students. Enabling the Google Drive portfolio Note: In order to use the Google Drive repository an administrator must register their Moodle site with Google, as described in Google OAuth setup, and obtain a client ID and secret. The client ID and secret can then be used to configure all Google Drive and Picasa plugins. Log in as an administrator and go to Administration > Site administration > Plugins > Portfolios > Manage Portfolios Activate the Google Drive portfolio by selecting 'Enable and visible' in the dropdown menu Configure the Google Drive portfolio by entering the client ID and secret Save changes Sending ("pushing") your files to Google Drive You can export items such as assignments, chat and forum posts to enabled portfolios. Here is an example with a forum post: In the post menu select Export to portfolio. Next, select Google Drive as the destination from the dropdown. If it is the only portfolio enabled, it will be the only choice! Click "Next". If you haven't done this before you will be prompted to log in to your account. Agree and log in. The "export complete" message will appear. Clicking "continue" will take you to Google Drive. As an example, an exported forum post will be named "post.html" It will open up like this: Source: docs.moodle.org/503/en/Google Drive portfolio — MoodleDocs (GPL) · Imported 2026-11-10. Google Drive repository Google Drive can serve both as a repository from which users can access files they have previously uploaded from Moodle and also as a portfolio into which they can "push" files they want to keep. When using the auth/drive.file scope, users cannot browse or pull files directly from their full Google Drive; only files uploaded via Moodle will be shown. Both options need to be enabled by the administrator before they are available for teachers and students. Both options need to be enabled by the administrator before they are available for teachers and students. 1 Enabling the Google Drive repository 1.1 Troubleshooting 2 Access controlled links 3 Getting ("pulling") your files from Google Drive 4 Repository capabilities 5 See also Enabling the Google Drive repository To use the Google Drive repository, an administrator must first create a Google service (a new requirement in Moodle 3.3 onwards). Go to 'OAuth 2 services' in Site administration and click the button to create a new Google service. Follow the instructions in OAuth 2 Google service and obtain a client ID and secret. Enter the client ID and secret and save changes. Go to 'Manage repositories' in Site administration and enable the Google Drive repository. On the Google Drive configuration page, make sure that Google is selected as the OAuth 2 service then save changes. Troubleshooting If you obtain a 'This app isn't verified' message, you will need to complete a OAuth Developer Verification Form. The list of scopes that Moodle requires are: openid profile email https://www.googleapis.com/auth/drive.file. See the discussion Google Drive Repository and Moodle 3.3.1 for more details. Access controlled links Students may submit files from Google Drive as 'access controlled links' in assignments. Once submitted, the student may no longer change them, but the teacher is allowed to edit them. Teachers may display files from Google Drive as 'access controlled links'. The teacher can then continue updating the files, but students can only view them. To enable this feature, ensure that: A system account has been connected in OAuth 2 services in Site administration. This account will own and control access to files submitted by students and teachers. Teachers will be able to edit the files but students will not. This should be a dedicated account for this purpose. "Supported files" is set to "Internal and External". "Default return type" is set to "External (only links stored in Moodle)". Getting ("pulling") your files from Google Drive From the file picker, click on the Google Drive link and a prompt to log in will appear: If it is your first time, the click the "Allow access" button to log in. Log into your account Allow access Your files will display for you to choose from (you will only see files that you have previously uploaded from Moodle to Google Drive.) You also have the option to upload a new file to Google Drive using the upload icon. After uploading, the file will appear in the list and can be selected like any other repository file. You can view them in three ways by clicking one of the options at the top right. Icon view Table view List view Repository capabilities There is just one capability, View Google Drive repository, which is allowed for the default authenticated user role. See also Issue with submitting assignments via Google Drive for those using Google Education Plus OAuth 2 authentication for enabling users to log in to Moodle with their Google account Google Drive repository in 3.3 with non-institutional accounts forum discussion Google Drive Repository and Moodle 3.3.1 forum discussion Source: docs.moodle.org/503/en/Google Drive repository — MoodleDocs (GPL) · Imported 2026-11-10. H5P 1 About H5P 2 Creating and editing H5P content in the Content bank 3 Creating and editing H5P content elsewhere 4 Creating H5P resources from Moodle standard questions 4.1 Add an activity or create a resource? 5 Adding an H5P activity to a course 6 Embedding H5P into other activities 7 Using H5P content in languages other than English 8 Admin settings 8.1 Manage H5P content types 8.2 H5P settings 8.2.1 H5P framework handler 8.2.2 Custom CSS 9 Capabilities 10 See also About H5P H5P is an abbreviation for HTML5 Package. It enables educators to create content such as interactive videos, quizzes and presentations. H5P content can be created in the Content bank or on the h5p.com site, or with the LUMI app for desktop, and added to your course as an H5P activity or embedded into any other activity or resource. For summative assessment, such as exams, it is recommended for security reasons to use the Quiz activity rather than H5P. Creating and editing H5P content in the Content bank To create and edit H5P content, Go to the Content bank, accessible when in a course from the Navigation drawer (Boost theme) or from Site pages in the Navigation block (Classic theme). Click the Add button and select a content type. For more information, see Content bank. Creating and editing H5P content elsewhere You can go to the h5p.com site, or you can install the LUMI app for desktop (Windows, Mac and Linux versions available). The CurrikiStudio server is an open source project to build a server where the teachers can create their H5P content. Make sure you download the newly created H5P file that you will later upload to your Moodle course. You must be aware that some parameters limit the file upload size for H5P objects in your server. Course file size limit is one of them. Remember that if you upload some *.h5p files to your Moodle server, the server MUST have the H5P libraries installed in order for those H5P activities to work. See Manage content types (below). If you use the LUMI desktop tool to create a H5P content from a file on the desktop, and then upload the H5P files via ftp to server file system, you would then be able to use the File system repository to add them to the Content bank. From the Content bank select 'Upload content' and the File system repository will appear as an option in the file manager. Creating H5P resources from Moodle standard questions See Repurpose resources content type plugin and this post about a new plugin for making H5P resources from some Moodle standard questions. Currently supported resources are: Moodle's Essay question type -> H5P Essay resource Moodle's Multiple Choice question type -> H5P Multiple Choice resource Moodle's Short answer question type -> H5P Guess the Answer resource Moodle's True/False question type -> H5P True False question resource Questions in a directory can be imported collectively to create a Column, Single Choice Set, Dialog Cards or Flash Cards content types. After creation, the content types can be edited in the Content bank as normal H5P content and combined with other content through copy and paste. After installation, teachers may create interactive content in the Content bank by clicking the Add button, and then choosing one of the Repurpose resources content types from the drop down menu to open the editor, and selecting questions and other options in the editor and saving. The new content created from the question will now appear in the Content bank. Add an activity or create a resource? If you upload an .H5P by drag and drop, the server will ask you whether you want to 'Add an H5P activity', or to 'Create a file resource' .h5p... You must choose wisely... An H5P resource is a file , that students can download. An H5P activity is one activity, for the students can interact with it. Adding an H5P activity to a course See H5P activity for how to create an H5P activity in a course. Embedding H5P into other activities You can embed H5P content into other activities and resources such as a Lesson or a Book, by clicking the H5P button in the text editor. H5P button in the text editor To embed H5P from the Content bank: Click the H5P button in the text editor then click 'Browse repositories'. Browse the Content bank repository and select an H5P file. Choose to either make a copy of the file or create a shortcut. Click the button 'Select this file'. Select H5P options as required and the display option 'Auto-play in mobile app'. Click 'Insert H5P content'. Note: If you create a shortcut to the file, you can edit it in the Content bank and any activities with a link to the file will be updated. Using H5P content in languages other than English Currently (April 2021) the names and descriptions of the H5P modules when using the Content bank are in English language only, but when using LUMI, these names and descriptions may be translated to other languages. See Translating plugins and the Spanish example below: Admin settings For H5P content to display in other activities, the Display H5P filter must be enabled and the URL e.g. h5p.com should be listed as an allowed source in Site admin / Plugins / Filters / Display H5P. Manage H5P content types Site administration > H5P > Manage H5P content types For teachers to upload and display H5P files in their courses, H5P content types and libraries must be available on the site. A scheduled task Download available H5P content types from h5p.org does this automatically (but check if it is enabled and has already run after first upgrading your site). If it is not possible to use this scheduled task, then the Site administration page 'Manage H5P content types' allows you to upload necessary files. H5P libraries needed error message If the scheduled task is not run and files are not uploaded, teachers will receive an error message when attempting to upload H5P content. An admin can choose to disable selected H5P content types, for example ones duplicating quiz functionality. H5P settings Site administration > H5P > H5P settings H5P framework handler Select the version of the H5P framework to use. Custom CSS Enter the CSS that you wish to apply to your H5P content. For example, entering: .h5p-course-presentation h2, .h5p-course-presentation .h5p-footer .h5p-footer-toggle-keywords .current-slide-title {     color: #fab; } Which will then apply to the H5P content, here being the example presentation (h5p.org/presentation - CC BY-SA 4.0 Deed Attribution-ShareAlike 4.0 International license creativecommons.org/licenses/by-sa/4.0/) where both instances of the slide title text have been changed to pink. Note: This setting is available in Moodle 4.3.3+ (Build: 20240223), version 2023100903.02 and above. Capabilities In addition to capabilities relating to the H5P activity and the Content bank there are further H5P capabilities as follows: - allowed for the default role of teacher Set H5P display options - allowed for the default role of teacher Manage H5P content types - allowed for the default role of manager only Deploy H5P content - allowed for the default roles of manager and teacher See also H5P activity H5P FAQ LUMI is a free (Open Source) desktop app that allows you to create, edit and share H5P interactive content with dozens of different content types. It is in English natively, but it has great support for languages other than English. Comparison chart of H5P questions and standard quiz questions Moodle & H5P, Magic Together | Michelle Lomman | MoodleMoot Global 2020 H5P in Moodle documentation with many useful tips and warnings Why you should NOT use H5P for high-risk assessment to know the reason of this rule. Source: docs.moodle.org/503/en/H5P — MoodleDocs (GPL) · Imported 2026-11-10. H5P FAQ 1 How can I add H5P content to a Lesson or Book? 2 How can I ensure that the grade from the H5P content is stored in the gradebook? 3 How can I get embedded H5P content to work with the gradebook? 4 Can I migrate content from the mod_hvp plugin to the H5P activity in standard Moodle? 5 Is it possible to import H5P question types into the Moodle question bank? 6 Is it possible to use the Moodle question bank and other course resources in the content bank? 7 How can I make sure that my H5P content is accessible? 8 How can I ensure that H5P content can be accessed in the Moodle app when offline? 9 Is it possible to style H5P content the same as the rest of my site? 10 What are the differences between the H5P core plugin and mod_hvp ? 11 How can I translate H5P content types? 12 Any further questions? How can I add H5P content to a Lesson or Book? You can easily add existing H5P content to a Lesson, Book, or other activity or resource via the H5P icon in the Atto editor. See the section 'Embedding H5P' in H5P for details. How can I ensure that the grade from the H5P content is stored in the gradebook? You need to use an H5P activity rather than embedding the H5P content in a different activity. How can I get embedded H5P content to work with the gradebook? Add the content as an H5P activity using the Stealth activities feature and embed the resultant code. Can I migrate content from the mod_hvp plugin to the H5P activity in standard Moodle? Yes, with the H5P migration tool. Is it possible to import H5P question types into the Moodle question bank? Yes - A number of H5P question types may be imported into the question bank using the H5P content types format plugin. Is it possible to use the Moodle question bank and other course resources in the content bank? This Repurpose resources content type plugin allows you to import some question types and potentially other media into the content bank to use in a variety of H5P content types. How can I make sure that my H5P content is accessible? Please see the h5p.com documentation Recommendations and overviews of content types. How can I ensure that H5P content can be accessed in the Moodle app when offline? The H5P activity supports offline access, which means that it is always fully downloaded to the user's device. For more details, see Moodle app offline features. If desired, an admin can disable this behaviour from "Site administration > Mobile app > Mobile features > Disabled features > View H5P content offline" (by default is on). For H5P content used elsewhere, such as in a Book, you need to either upload the h5p file or select it in the content bank. Users will then have a button to download the H5P content and access it offline. If you enter a URL to an external site where the H5P content is hosted, users will NOT be able to download the H5P content to access offline. Is it possible to style H5P content the same as the rest of my site? Yes, for changing the CSS please see H5P#Custom_CSS, for other changes such as JavaScript, please see the dev documentation H5P styles. What are the differences between the H5P core plugin and mod_hvp ? Aspect core mod_hvp Automatically add Calendar notifications No Yes Store H5P content in the Content Bank Yes No How can I translate H5P content types? You can translate H5P content types by editing the language file in GitHub and making a pull request. For more details, see the section 'Translating Content Types' in H5P Contributing and Adding content type translations via GitHub. Any further questions? Please post in the H5P forum on moodle.org Source: docs.moodle.org/503/en/H5P FAQ — MoodleDocs (GPL) · Imported 2026-11-10. Images Moodle allows teachers and students to upload and display images from a variety of sources via the image icon of the Text editor. Course pages can be enhanced with images (or banners) in a Text and media area. Assignments can include images for extra clarification. Images attached to forum posts or quiz questions will appear embedded. Load video YouTube YouTube might collect personal data. Privacy Policy Adding images Moodle accepts .jpg,.png,.svg and .gif formats. 1 Dragging and dropping an image 2 Copying and pasting an image 3 Uploading and displaying an image from your computer 4 Editing an uploaded image 5 Displaying an image already online 6 Scale an image 6.1 Suitable images for scaling 6.2 Upscaling of images Dragging and dropping an image Images may be dragged and dropped directly into the Text editor if you are using a supported browser or onto the course page when editing mode is on. Copying and pasting an image Images can be copied from anywhere and pasted into the editor. For example, you can copy and paste an image from a word-processed document or take a screenshot, copy it to your clipboard and then paste it into the editor. Uploading and displaying an image from your computer Note: It is a good plan to resize your image before uploading, rather than altering its dimensions online. With the editing turned on, go to where you want to display your image (e.g. in a course summary, label or page). Click the image icon. Either upload the image, enter the URL of an image which is already online or click 'Browse repositories' to access the File picker. Add alternative text or check the box 'Decorative image'. Alter the size if needed and save the image. Image details options when inserting an image. Editing an uploaded image If you need to edit the image once it has been uploaded,you can double-click on the image from within the text editor and access the image properties window. Note it is much better to upload an image of the desired size rather than modifying it afterwards. Displaying an image already online If you have images available elsewhere online, you can display them too without the need to upload to Moodle by entering their online address in the Enter URL field. Note: If the image is taken offline, it will be replaced by a red X on your course page. Linking [1] to images online if you don't own them yourself is not recommended. Scale an image If images are uploaded and embedded into a page or question, these are "responsive" automatically. This means that if the image doesn't fit into the space available on the page, it is automatically downscaled. If the page contains more space than the image would actually require, then it is displayed in its maximum size but not upscaled. Suitable images for scaling If images are scaled on a webpage naturally this leads to losses of the image quality. Image information either needs to be compressed when scaling down, or needs to be interpolated when upscaling is done. In both cases this may work well on ome image and not so good on others. Before uploading an image you may check this by opening the image in your browser and manually change the view, increase the percentage or lower it and check the result that is being displayed by the browser. Images that usually scale well are charts or images with a lot of lines. Small letters or symbols however, may not be well recognizable anymore because they are too small to read or contain too many artefacts when enlarged. Photographs usually do not look bad when they get downscaled. However, upscaling usually blurs them or reveal visible pixels. An exception are files of the type SVG. These files are so called vector graphics. The image doesn't store any pixels but definitions on how to draw geometric shapes. Depending on the scale these figures are smaller or larger but drawn from scratch. Also letters and that kind still look good. Upscaling of images Sometimes it is desired that an image takes the whole width of the page even though the actual image is smaller. Then upscaling is needed. The image will be displayed in a larger size than it actually is. This does work automatically but must be adapted when inserting an image in the text. TinyMCE editor: switch to source code view TinyMCE editor: change the img tag in the in source mode After inserting the image, the editors view must be changed into the source view (1). In the HTML the tag must be searched (2). At the end of that element there are two attributes, width and height (3). The value of the width attribute must be set to "100%", the height attribute can be removed entirely. After that, the editor can be switched back to WYSIWYG mode or the page/question can be saved. Note that whenever the image is reedited with the editor using the toolbar button and the dialogue, then the attributes are set back to the image size. Therefore, avoid reediting images with the editor or reapply the attribute changes. Source: docs.moodle.org/503/en/Images — MoodleDocs (GPL) · Imported 2026-11-10. Installing unoconv Note: Unoconv is deprecated. There is rewrite of Unoconv called "Unoserver" but Moodle does not currently support it. See MDL-75066 1 What is unoconv? 2 Installing unoconv on Linux 2.1 Ubuntu 18.04 LTS 2.2 Ubuntu 22.04 LTS 2.3 Ubuntu 16.04 LTS 2.4 Ubuntu 14.04 LTS 2.5 CentOS / RedHat 3 Installing unoconv on OS X 4 Installing unoconv on Windows 5 Run a unoconv listener 6 Offload processing to a different server 7 Additional resources 8 See also What is unoconv? "unoconv" is a command line program that is used to convert between different office document file formats. It uses an instance of LibreOffice to do the conversion and is used by the Assignment activity to convert documents to pdf so that they can be annotated. If unoconv is not installed - the only impact is that the assignment activities will only allow annotations when students upload a pdf document. The steps required to install unoconv are different depending on the operating system that you have installed Moodle on. Installing unoconv on Linux The required version of unoconv is at least 0.7. Depending on your flavour of linux, this may be available in your package manager and you can install it directly with: Ubuntu 18.04 LTS apt-get install unoconv mkdir /var/www/.config chown www-data:www-data /var/www/.config Ubuntu 22.04 LTS You will need to install Python 3, and note that the unoconv will only support Python up to 3.11. sudo apt install python3 To download the latest version of unoconv (0.8.2): cd /opt sudo git clone https://github.com/unoconv/unoconv.git sudo nano /opt/unoconv/unoconv Change the first line of code by adding the number 3 to the Python version, as per the example below: #!/usr/bin/env python3 Permissions and run link: sudo chmod ugo+x /opt/unoconv/unoconv sudo ln -s /opt/unoconv/unoconv /usr/bin/ Now we need LibreOffice installed: sudo add-apt-repository ppa:libreoffice/ppa sudo apt install libreoffice -y Production servers should consider running unoconv in listener mode, see Installing unoconv#Run a unoconv listener or follow directions below: sudo nano /etc/systemd/system/unoconv.service And then copy and paste the following configuration into it: [Unit] Description=Unoconv listener for document conversions Documentation=https://github.com/dagwieers/unoconv After=network.target remote-fs.target nss-lookup.target [Service] Type=simple ExecStart=/usr/bin/unoconv --listener [Install] WantedBy=multi-user.target And then enable and start the above service: sudo systemctl enable unoconv.service sudo systemctl start unoconv.service Ubuntu 16.04 LTS apt-get install unoconv If your package manager contains an older version of the package, you will have to find a newer version and install it manually (Debian Testing). Unoconv itself is just a python script, so it has few dependencies. Potential problems: On some systems the apache user home directory is set to a non existent folder. This can cause unoconv to fail. There are 2 solutions to this - one is to make a (writable) home directory for the apache user (like /home/www-data). The other is to run a unoconv listener (described below) as another user other than the apache user (someone with a valid, writable home directory). If you are still running 14.04LTS then unoconv won't work as shipped. This might not be the most efficient route but it worked by first installing unoconv (version 0.6) from the package manager as above. You will then need to grab unoconv 0.7 from Github (https://github.com/dagwieers/unoconv), then upgrade to the latest libreoffice using the PPA (https://launchpad.net/~libreoffice/+archive/ubuntu/ppa). Point moodle at the Github version of unoconv. You need to modify the Python unoconv file by changing 'python' in the first line to 'python3'. You also need to change the permissions on the directory /var/www so that the user www-data can write to it (www-data needs to write to its home directory which it cannot do by default). On Debian Stable, the cleanest method to install unoconv is using Jessie-backports. First, enable backports repo line in /etc/apt/sources.list: #### Jessie-backports #### deb http://ftp.debian.org/debian jessie-backports main Then, update and install unoconv from jessie-backports: apt-get update apt-get install -t jessie-backports unoconv The package will bring all necessary dependencies for you. Ubuntu 14.04 LTS 1) Navigate to opt directory cd /opt 2) Download unoconv sudo wget https://raw.githubusercontent.com/dagwieers/unoconv/master/unoconv 3) Modify the Python unoconv file by changing 'python' in the first line to 'python3' sudo nano /opt/unoconv e.g. #!/usr/bin/env python3 4) Make unoconv executable sudo chmod ugo+x /opt/unoconv 5) Add LibreOffice PPA to your system and install the latest version sudo add-apt-repository ppa:libreoffice/ppa sudo apt-get update sudo apt-get install libreoffice 6) Change permissions so apache can write to its home directory sudo chown www-data /var/www 7) From your browser navigate to Site administration > Server > System paths and add the path to unoconv /opt/unoconv Note: if you would like to preserve the default path add a symbolic link to /usr/bin: sudo ln -s /opt/unoconv /usr/bin/ 8) Navigate to Site administration > Plugins > Activity modules > Assignment > Feedback plugins > Annotate PDF > Test unoconv path You should see: "The unoconv path appears to be properly configured." Download the converted pdf test file. (if the PDF fails to load ensure that www-data can write to its home directory: /var/www) CentOS / RedHat Just before you start, you might like to consider installing the latest LibreOffice 6.3.2 directly from RPM packages, that are not part of the distribution you are using. As of nov-2016, CentOS and RedHat 7.2 comes with OpenOffice 4.3 . so if you are not interested in using this version and would like to install latest 6.3 independent LibreOffice 6.3, please remove any openoffice packages you might have on your OS by issuing: yum remove openoffice* libreoffice* It is recommended to chose your localized libreoffice version for better document conversions. yum install libreoffice libreoffice-pyuno git clone https://github.com/dagwieers/unoconv.git # copy cp unoconv/unoconv /usr/bin # or link unoconv to /usr/bin ln -s unoconv/unoconv /usr/bin/unoconv Note: depends on what version you are installing, openoffice or libreoffice, make sure you installed the *-pyuno package. (the headless package is already compiled into the core) Make sure it is properly configured: http://your-moodle/admin/search.php?query=unoconv Production servers should consider running unoconv in listener mode, see Installing unoconv#Run a unoconv listener or follow directions bellow vi /etc/systemd/system/unoconv.service And then copy and paste the following configuration into it: [Unit] Description=Unoconv listener for document conversions Documentation=https://github.com/dagwieers/unoconv After=network.target remote-fs.target nss-lookup.target [Service] Type=simple Environment="UNO_PATH=/usr/lib64/libreoffice/program" ExecStart=/usr/bin/unoconv --listener [Install] WantedBy=multi-user.target And then enable and start the above service systemctl enable unoconv.service systemctl start unoconv.service If your selinux is enable yous should set #setsebool -P httpd_execmem on Installing unoconv on OS X Download and install LibreOffice for Mac. Unfortunately - newer versions of LibreOffice are not currently compatible with unoconv for mac and you will have to install LibreOffice 4.2 (Direct download link - https://downloadarchive.documentfoundation.org/libreoffice/old/4.2.5.2/mac/x86_64/LibreOffice_4.2.5.2_MacOS_x86-64.dmg). Get the latest version of the unoconv python script. One way to do this is with http://brew.sh/ brew. brew install unoconv If you haven't done it already - install ghostscript. One way to install ghostscript is also with http://brew.sh/ brew brew install ghostscript Set the paths to unoconv and ghostscript in Moodle (Site administration > Server > System paths). If you used brew, they will both be installed to /usr/local/bin. LibreOffice needs write access to the current users home directory to create some temporary files. When unoconv is run as the webserver user (_www) it does not normally have this permission. There are some ways to get around this - one way is just to give the "_www" user write access to /Library/WebServer. Another solution is to convince LibreOffice that this users home directory is somewhere else. This can be done by inserting this code into the top of the unoconv python script. Code to insert: # Set home to a writable folder. os.environ['HOME'] = '/tmp/' This needs to be inserted at line 36 immediately after the line "exitcode = 0" Installing unoconv on Windows Download and install LibreOffice for Windows. Open Office will work just as well, but the documentation for unonconv is set to Libre Office. Download the latest version of the unoconv script from https://github.com/dagwieers/unoconv/releases (download the zip version). From the downloaded zip file - extract the one file unoconv-0.7\unoconv (no file extension). This is the unoconv script - none of the other files in the package are required. Rename the downloaded script to unoconv.py and copy it to a folder in either C:\Program Files or C:\Program Files (x86). Create a batch file in the same folder as unoconv.py name it something like unoconv.bat, it must be a batch file, with these contents: @"C:\Program Files\LibreOffice\program\python.exe" c:\unoconv\unoconv.py %* or: @"C:\Program Files\OpenOffice\program\python.exe" c:\unoconv\unoconv.py %* Next, you have to Set paths in Moodle. Login as admin and go to Site administration > Server > System paths Set: Path to Ghostscript (pathtogs) to C:\Program Files\gs\gsversion\bin\gswin64c.exe. Do not use gswin32.exe or gswin64.exe, these are not command line programs - use gswin32c.exe or gswin64c.exe. Set: Path to Python (pathtopython) to C:\Program Files (x86)\OpenOffice\program\python.exe or C:\Program Files (x86)\LibreOffice\program\python.exe. Identify in the path whichever program you use and include the full exe name for both Ghostscript and Python. Save the pathto statements and a green tick should appear if Moodle is communicating with the required files. Go to Site administration > Plugins > Document converters and enable Unoconv then select Settings Enter the path statement to Path to unoconv document converter: C:\Program Files (x86)\unoconv\unoconv.bat. Include the full name of the .bat file. Test ghostscript and unoconv are working correctly in the admin test pages Site administration > Plugins > Activity modules > Assignment > Feedback plugins > Annotate PDF. Run a unoconv listener Unoconv utilises a client/server process when converting documents. By default, when there is no running server process - each time unoconv runs it will start a server process, send its request and shut down the server process when the request is complete. The drawback of this mode is that if 2 requests are submitted simultaneously - this can cause the first request to shutdown the server process when the second request is still in progress - and the second conversion request fails. A more robust way to configure unoconv is to start a server process at boot time, and/or run a script to monitor it and restart it if it crashes. To start a unoconv listener at boot time - you need a start up script. Different operating systems and Linux distributions use different startup scripts - but here are some examples of startup scripts for different systems. Upstart script for Ubuntu based systems Launchd script for OS X Init script for Debian Init script for CentOS/RedHat 6.x SystemD service script for CentOS/RedHat 7.x Offload processing to a different server Processing office documents can put increased load on your webserver, which may impact on the responsiveness of your site. If you are installing unoconv on a large site you may want to consider running unoconv on a server that is not also serving web requests. How to do this: Install unoconv on each webservers and the remote server following the installation instructions above. Make sure unoconv is started at boot time on the remote server with the "--listener" argument and is monitored and restarted if it exits (see Debian init script for an example of how to do this). By default, unoconv will only listen on localhost (127.0.0.1): if you want to connect to the listener process from another server, you need to start the unoconv listener process with the "--server" argument too! An example command for starting a listener on a remote server (0.0.0.0 listens on all interfaces): unoconv --listener --server 0.0.0.0 --port 2002 Open the firewall port 2002 between the moodle webservers and the machine running unoconv. Share the moodle data root between the webservers and the machine running unoconv. This folder must be mounted at the same path on all servers. Install a wrapper for unoconv on the webservers that forwards the requests to the remote server. Example: #!/bin/bash # Wrapper script for unoconv to forward processing. # Install to /usr/bin/unoconv-remote with 755 permissions /usr/bin/unoconv --server= "$@" Configure the path to unoconv in the Moodle admin settings to point to this wrapper script. Additional resources GitHub dagwieers/unoconv has additional information on installation of unoconv and troubleshooting tips. See also Is the unoconv installation a security risk? forum discussion Source: docs.moodle.org/503/en/Installing unoconv — MoodleDocs (GPL) · Imported 2026-11-10. LTI External tool 1 What are LTI External tools? 2 Viewing and managing LTI External tools 3 Adding LTI External tools at course level 3.1 Tool settings 3.2 Services 3.3 Privacy 4 Site administration settings 4.1 Adding a tool site-wide 4.1.1 Making a tool available to specific course categories 4.2 Registering an LTI Advantage tool 4.3 Registering an LTI 1.1 tool using a cartridge 4.4 Registering an external LTI 2.0 external tool 4.5 Viewing more details 5 External tool capabilities 6 See also What are LTI External tools? Load video YouTube YouTube might collect personal data. Privacy Policy LTI External tool LTI External tools are add-on apps you can integrate into your course, such as interactive content, activities, or assessments. Teachers can link to these activities from within their Moodle course page, and students can access them without leaving their Moodle course or having to log in to a different system. Where available, and depending on each tool, teachers can also have grades sent back into Moodle. The link between Moodle and these tools is made through the Learning Tools Interoperability (LTI) standard, which integrates learning platforms with learning tools to create a richer, seamless learning experience. Essentially, the LTI standard enables a secure, bi-directional exchange of information between Moodle and external learning tools. LTI External tools can be used in Moodle as activities. This page explores the LTI External Tools page, which allows you to see which LTI External tools are available in your course. It also covers how to add new LTI tools to your course, and how administrators can add LTI tools to their site. Viewing and managing LTI External tools To view the LTI External tools that are available in your course, go to Course navigation > More > LTI External tools. If your administrator or another teacher have already configured tools for your course, they will be shown on this page. The table on the page contains information about the available LTI tools in the course: Name Description Usage count: How many times the tool is being used in the course Show in Activity chooser: Whether the tool is displayed in the activity chooser so it can be used as an activity in the course. The context menu (···) contains actions you can perform on the tool, such as Edit its settings, Delete it, or see its registration details (for LTI 1.3 tools only). The actions you can perform depend on the permissions your administrator has given you. If instead of the three dots menu there is a lock icon, it means that the tool has been configured by your administrator for the whole site, and you can’t edit it. Adding LTI External tools at course level If your administrator has given you permission to manage LTI External tools, you can add new tools to your courses using the ‘Add tool’ button on the LTI External tools page. Tools that you add at course level will appear in your activity chooser by default. You can remove them from the activity chooser by going to Course page > More > LTI External Tools and toggling them off in the column ‘Show in activity chooser’. Tool settings In Tool settings, give your tool a name (and, optionally, a description). To fill in the rest of the fields in this section, including the LTI version, follow the instructions from your tool provider. If the tool doesn’t provide information about some of these settings, it’s ok to leave them blank. Tool URL - This is the URL for connecting to site. If your moodle site uses SSL (is on HTTPS) you will only be able to use a tool that also uses SSL. Make sure the tool URL has HTTPS before attempting to use it or you may get a blank page. LTI version - The LTI version of the tool you're adding. Consumer key -this tells the connecting LTI compliant site that your Moodle is allowed to connect. The "tool provider", i.e. the manger of the connecting LTI compliant site will issue you with this key. If you are merely linking to a tool with no secure access or gradebook sharing then you won't need a consumer key. If you are linking to a course or activity from another Moodle site, then you can add any consumer key. Shared secret - this is the "password" to connect to the tool - the LTI compliant site. Custom parameters - most times, you can leave this blank. The tool provider might use this to allow you to display a specific resource. Default launch container - this is how the external tool will be displayed. Embed - The content will appear within the activity page where the tool is used, not moving users away from the page, but hiding any blocks your course may have. Embed without blocks - The content will be displayed in the existing tab or window. Users will have to navigate back to the course using the ‘Back’ button once they’re done. Existing window - The content will be displayed in the existing tab or window. Users will have to navigate back to the course using the ‘Back’ button once they’re done. New Window - the external tool will open in a new window. (A new window or tab will open with the External tool and the old browser window containing the course page will not change.) Content selection URL - The Content Selection URL will be used to launch the content selection page from the tool provider. If it is empty, the Tool URL will be used. The following settings are available by clicking ""Show more": Icon URL - you can display a different icon from the default External Tool icon by entering its URL here Secure Icon URL - enter the URL of a different icon here if your students are accessing Moodle securely via SSL. Services Choose which of the services you want to use with the tool. Privacy Share launcher's name with the tool - this means that the student's name will be displayed on the connected site as in this example Share launcher's email with the tool - this means that the student's email will be displayed on the connected site as in this example Accept grades from the tool - if this is checked, the connecting site will send back grades to Moodle's gradebook. See Using External tool for more information on this. Once you Save changes, the tool will be added to the list of tools in Course page > More > LTI External tools. Site administration settings Adding a tool site-wide An administrator can manually configure external tools in Site administration > Plugins > Activity modules > External tool> Manage tools so that they are available across the site. Adding an external tool A tool may be configured by an administrator so that it is shown in the activity chooser (in addition to the external tool activity) for a teacher to select to add to a course. Its description, if one is present, will appear in the activity chooser. Making a tool available to specific course categories When configuring an LTI External tool, administrators have the option to limit its availability to specific course categories by selecting the desired categories in the 'Restrict to category' section during the tool configuration process. Registering an LTI Advantage tool Moodle allows a simple way to deploy an LTI Advantage tool. If the tool provider supports that flow, you should have received a registration URL. Simply enter that url to a tool in the 'Tool URL' and press 'Add LTI Advantage'. The tool registration UI will open and guide you to the steps for registration. Once completed, the registration panel will close and the list of tools will refresh. If the registration was successful, the newly added tool should be visible in a pending state. The pending state allows you to review the tool configuration, the privacy and services granted, apply possible modifications (for example how the tool appears in the activity chooser), then activate the tool to make it available. In case of errors when trying to start the registration, validate the registration URL with the tool's vendor the registration URL is for an LTI Advantage registration and not for the deprecated LTI 2 registration. For Tool Developers looking to support the automated registration of LTI Advantage tool, there is an implementation guide available. The registration process is also being standardized by IMS Global LTI Working Group. There is also a Youtube video demo-ing and explaining the flow. Registering an LTI 1.1 tool using a cartridge You can register an LTI 1.1 tool type using a cartridge. A cartridge will configure all the information such as launch url, tool name & description and icons for you. To do this, simply enter the url to a tool's cartridge in the 'Tool URL' and press 'Add Legacy LTI'. You will be asked to enter a key and secret. If you don't have them, you can leave them blank and press save changes. Entering a consumer key and secret Registering an external LTI 2.0 external tool The LTI 2 specifications have been deprecated by IMS Global and are no more the preferred way to integrate an external tool in Moodle. Viewing more details On the 'Manage tools' page you can also visit 'Manage preconfigured tools' to view the preconfigured tools in a tabular format. There are tabs to add an external tool, to view those which are pending and to view those which have been rejected: Setting up a new external tool You can also visit 'Manage external tool registrations' to view the tool registrations in a tabular format, or to add an external registration with limited capabilities. To add a tool with limited capabilities. 1. Click 'Configure a new external tool registration' Registering an external tool 2. Configure the details on the settings page: Registration settings page 'Memberships', allow the external tool to request a list of users with a certain role in a specified context e.g. users enrolled in a course. 3. Click the tick/checkmark to register: Activating 4. After obtaining a success message, click to complete the process: Completing the registration 5. If all requirements are met then you will be able to register automatically. 6. Now go to Site administration > Plugins > Activity modules > External tool > Manage external tool types and click the 'Pending tab' 7. Click the tick/checkmark to activate it: Activating from the Pending tab External tool capabilities Add course-specific tool configurations Add a new external tool Add a preconfigured tool Submit a tool to admins for configuration Be an admin when the tool is launched Edit external tool activities i.e. be an Instructor when the tool is launched View external tool activities i.e. launch external tool activities See also LTI External tool FAQ Forum discussion LTI configs when add external tool is switched off Source: docs.moodle.org/503/en/LTI External tool — MoodleDocs (GPL) · Imported 2026-11-10. LTI External tool FAQ 1 What are LTI External tools? 2 How can I get my activities created with LTI External tools to display on the Dashboard in the Course overview block? 3 What versions of LTI does Moodle support? 4 How do I restrict a tool to specific users? 5 How do LTI External tools work with course backups? 6 Any further questions? What are LTI External tools? LTI External tools are add-on apps you can integrate into your course, such as interactive content, activities, or assessments It is similar to SCORM as a standard for educational objects, but instead of being a package of content that is uploaded to Moodle, LTI is a way of integrating the functionality provided by another system into your course. How can I get my activities created with LTI External tools to display on the Dashboard in the Course overview block? Set an 'Expect completed by' date in the Activity completion section in the External tool settings. What versions of LTI does Moodle support? LTI 1.1 Advantage and LTI 1.3 Advantage. How do I restrict a tool to specific users? As site admin, when you configure the tool in Site administration > Plugins > Manage tools, set the tool configuration usage to 'Do not show; use only when a matching tool URL is entered', then email the tool URL to the specific users. How do LTI External tools work with course backups? When you back up a course that has LTI External tools, only the tools that are being used in an activity will be included in a backup. Tools that are in Course page > More > LTI External tools but are not used in the course will not be included in the backup. Any further questions? Please post in the LTI and Moodle forum on moodle.org Source: docs.moodle.org/503/en/LTI External tool FAQ — MoodleDocs (GPL) · Imported 2026-11-10. LTI External tool activity This page explores how to use LTI External tools in your course as activities. 1 How is it set up? 1.1 General 1.1.1 Content 1.1.2 Display activity name when students access the tool 1.1.3 Display activity description when students access the tool 1.1.4 Grade 1.1.5 Other settings 2 Using an LTI External tool as an activity 3 See also How is it set up? To create an activity using an LTI External tool, go to the Course page and turn on Edit mode. Click either the link ‘Add an activity or resource’ at the bottom of each section, or click anywhere on the course page where you want to add your item. The Activity chooser will show; then, select the tool you want to create an activity with. If the tool you want to use is not in the Activity chooser, you need to toggle the 'Show in activity chooser' option in the table in Course page > More > LTI External tools. This page is also where you can see all LTI External tools available in your course. For more information, see Managing LTI External tools. Once you select the tool in the Activity chooser, you can continue with activity creation and select the settings you'd like. General Content If you're using a tool that supports deep linking, you will see a 'Select content' button on top of the activity form. Use this button to select which specific content from the tool you want to use in your activity. Once you select content, the Activity name and Activity description might be automatically populated by the tool. If not, give your activity a name and, optionally, a description. Display activity name when students access the tool You will only see this setting if your site uses the Classic theme and, in the tool settings, the tool’s content display has been configured as ‘Embed’ or ‘Embed, without blocks’. This setting determines whether the activity name is displayed on the screen once your students access it. Display activity description when students access the tool You will only see this setting if, in the tool settings, the tool’s content display has been configured as ‘Embed’ or ‘Embed, without blocks’. This setting determines whether the activity description is displayed on the screen once your students access it. Grade Your activity will only have a Grade section if the tool it is using has been given permission to write grades in the gradebook. In activities created using LTI External Tools, the grade will always be given by the tool. You might have the option to completely deactivate grading for your activity if the checkbox ‘Allow tool to add grades in the gradebook’ is displayed. If you see the Grade section, but there is no checkbox  ‘Allow tool to add grades in the gradebook’, it means that your site administrator has configured the tool to always write grades in the gradebook. Other settings Depending on what is enabled for your site and course, you may also need to explore Common module settings, Restrict access, Activity completion, Tags and Competencies. Using an LTI External tool as an activity When students click the tool link they are automatically signed into the connecting site/tool provider (screenshot 1 below) and can take the quiz immediately. When the student has completed the quiz, the tool provider displays their grade (screenshot 2 below) and when the student logs out of the tool provider, the grade is passed back into Moodle (screenshot 3 below). 1.Student logged directly into tool provider 2. Tool provider displays score 3. Score passed to Moodle's gradebook See also Forum discussion 1.3 External Tools adding to a course in Moodle version 4.3 Source: docs.moodle.org/503/en/LTI External tool activity — MoodleDocs (GPL) · Imported 2026-11-10. LTI External tools 1 What are LTI External tools? 2 Viewing and managing LTI External tools 3 Adding LTI External tools at course level 3.1 Tool settings 3.2 Services 3.3 Privacy 4 Site administration settings 4.1 Adding a tool site-wide 4.1.1 Making a tool available to specific course categories 4.2 Registering an LTI Advantage tool 4.3 Registering an LTI 1.1 tool using a cartridge 4.4 Registering an external LTI 2.0 external tool 4.5 Viewing more details 5 External tool capabilities 6 See also What are LTI External tools? Load video YouTube YouTube might collect personal data. Privacy Policy LTI External tool LTI External tools are add-on apps you can integrate into your course, such as interactive content, activities, or assessments. Teachers can link to these activities from within their Moodle course page, and students can access them without leaving their Moodle course or having to log in to a different system. Where available, and depending on each tool, teachers can also have grades sent back into Moodle. The link between Moodle and these tools is made through the Learning Tools Interoperability (LTI) standard, which integrates learning platforms with learning tools to create a richer, seamless learning experience. Essentially, the LTI standard enables a secure, bi-directional exchange of information between Moodle and external learning tools. LTI External tools can be used in Moodle as activities. This page explores the LTI External Tools page, which allows you to see which LTI External tools are available in your course. It also covers how to add new LTI tools to your course, and how administrators can add LTI tools to their site. Viewing and managing LTI External tools To view the LTI External tools that are available in your course, go to Course navigation > More > LTI External tools. If your administrator or another teacher have already configured tools for your course, they will be shown on this page. The table on the page contains information about the available LTI tools in the course: Name Description Usage count: How many times the tool is being used in the course Show in Activity chooser: Whether the tool is displayed in the activity chooser so it can be used as an activity in the course. The context menu (···) contains actions you can perform on the tool, such as Edit its settings, Delete it, or see its registration details (for LTI 1.3 tools only). The actions you can perform depend on the permissions your administrator has given you. If instead of the three dots menu there is a lock icon, it means that the tool has been configured by your administrator for the whole site, and you can’t edit it. Adding LTI External tools at course level If your administrator has given you permission to manage LTI External tools, you can add new tools to your courses using the ‘Add tool’ button on the LTI External tools page. Tools that you add at course level will appear in your activity chooser by default. You can remove them from the activity chooser by going to Course page > More > LTI External Tools and toggling them off in the column ‘Show in activity chooser’. Tool settings In Tool settings, give your tool a name (and, optionally, a description). To fill in the rest of the fields in this section, including the LTI version, follow the instructions from your tool provider. If the tool doesn’t provide information about some of these settings, it’s ok to leave them blank. Tool URL - This is the URL for connecting to site. If your moodle site uses SSL (is on HTTPS) you will only be able to use a tool that also uses SSL. Make sure the tool URL has HTTPS before attempting to use it or you may get a blank page. LTI version - The LTI version of the tool you're adding. Consumer key -this tells the connecting LTI compliant site that your Moodle is allowed to connect. The "tool provider", i.e. the manger of the connecting LTI compliant site will issue you with this key. If you are merely linking to a tool with no secure access or gradebook sharing then you won't need a consumer key. If you are linking to a course or activity from another Moodle site, then you can add any consumer key. Shared secret - this is the "password" to connect to the tool - the LTI compliant site. Custom parameters - most times, you can leave this blank. The tool provider might use this to allow you to display a specific resource. Default launch container - this is how the external tool will be displayed. Embed - The content will appear within the activity page where the tool is used, not moving users away from the page, but hiding any blocks your course may have. Embed without blocks - The content will be displayed in the existing tab or window. Users will have to navigate back to the course using the ‘Back’ button once they’re done. Existing window - The content will be displayed in the existing tab or window. Users will have to navigate back to the course using the ‘Back’ button once they’re done. New Window - the external tool will open in a new window. (A new window or tab will open with the External tool and the old browser window containing the course page will not change.) Content selection URL - The Content Selection URL will be used to launch the content selection page from the tool provider. If it is empty, the Tool URL will be used. The following settings are available by clicking ""Show more": Icon URL - you can display a different icon from the default External Tool icon by entering its URL here Secure Icon URL - enter the URL of a different icon here if your students are accessing Moodle securely via SSL. Services Choose which of the services you want to use with the tool. Privacy Share launcher's name with the tool - this means that the student's name will be displayed on the connected site as in this example Share launcher's email with the tool - this means that the student's email will be displayed on the connected site as in this example Accept grades from the tool - if this is checked, the connecting site will send back grades to Moodle's gradebook. See Using External tool for more information on this. Once you Save changes, the tool will be added to the list of tools in Course page > More > LTI External tools. Site administration settings Adding a tool site-wide An administrator can manually configure external tools in Site administration > Plugins > Activity modules > External tool> Manage tools so that they are available across the site. Adding an external tool A tool may be configured by an administrator so that it is shown in the activity chooser (in addition to the external tool activity) for a teacher to select to add to a course. Its description, if one is present, will appear in the activity chooser. Making a tool available to specific course categories When configuring an LTI External tool, administrators have the option to limit its availability to specific course categories by selecting the desired categories in the 'Restrict to category' section during the tool configuration process. Registering an LTI Advantage tool Moodle allows a simple way to deploy an LTI Advantage tool. If the tool provider supports that flow, you should have received a registration URL. Simply enter that url to a tool in the 'Tool URL' and press 'Add LTI Advantage'. The tool registration UI will open and guide you to the steps for registration. Once completed, the registration panel will close and the list of tools will refresh. If the registration was successful, the newly added tool should be visible in a pending state. The pending state allows you to review the tool configuration, the privacy and services granted, apply possible modifications (for example how the tool appears in the activity chooser), then activate the tool to make it available. In case of errors when trying to start the registration, validate the registration URL with the tool's vendor the registration URL is for an LTI Advantage registration and not for the deprecated LTI 2 registration. For Tool Developers looking to support the automated registration of LTI Advantage tool, there is an implementation guide available. The registration process is also being standardized by IMS Global LTI Working Group. There is also a Youtube video demo-ing and explaining the flow. Registering an LTI 1.1 tool using a cartridge You can register an LTI 1.1 tool type using a cartridge. A cartridge will configure all the information such as launch url, tool name & description and icons for you. To do this, simply enter the url to a tool's cartridge in the 'Tool URL' and press 'Add Legacy LTI'. You will be asked to enter a key and secret. If you don't have them, you can leave them blank and press save changes. Entering a consumer key and secret Registering an external LTI 2.0 external tool The LTI 2 specifications have been deprecated by IMS Global and are no more the preferred way to integrate an external tool in Moodle. Viewing more details On the 'Manage tools' page you can also visit 'Manage preconfigured tools' to view the preconfigured tools in a tabular format. There are tabs to add an external tool, to view those which are pending and to view those which have been rejected: Setting up a new external tool You can also visit 'Manage external tool registrations' to view the tool registrations in a tabular format, or to add an external registration with limited capabilities. To add a tool with limited capabilities. 1. Click 'Configure a new external tool registration' Registering an external tool 2. Configure the details on the settings page: Registration settings page 'Memberships', allow the external tool to request a list of users with a certain role in a specified context e.g. users enrolled in a course. 3. Click the tick/checkmark to register: Activating 4. After obtaining a success message, click to complete the process: Completing the registration 5. If all requirements are met then you will be able to register automatically. 6. Now go to Site administration > Plugins > Activity modules > External tool > Manage external tool types and click the 'Pending tab' 7. Click the tick/checkmark to activate it: Activating from the Pending tab External tool capabilities Add course-specific tool configurations Add a new external tool Add a preconfigured tool Submit a tool to admins for configuration Be an admin when the tool is launched Edit external tool activities i.e. be an Instructor when the tool is launched View external tool activities i.e. launch external tool activities See also LTI External tool FAQ Forum discussion LTI configs when add external tool is switched off Source: docs.moodle.org/503/en/LTI External tools — MoodleDocs (GPL) · Imported 2026-11-10. LTI consumer 1 What are LTI External tools? 2 Viewing and managing LTI External tools 3 Adding LTI External tools at course level 3.1 Tool settings 3.2 Services 3.3 Privacy 4 Site administration settings 4.1 Adding a tool site-wide 4.1.1 Making a tool available to specific course categories 4.2 Registering an LTI Advantage tool 4.3 Registering an LTI 1.1 tool using a cartridge 4.4 Registering an external LTI 2.0 external tool 4.5 Viewing more details 5 External tool capabilities 6 See also What are LTI External tools? Load video YouTube YouTube might collect personal data. Privacy Policy LTI External tool LTI External tools are add-on apps you can integrate into your course, such as interactive content, activities, or assessments. Teachers can link to these activities from within their Moodle course page, and students can access them without leaving their Moodle course or having to log in to a different system. Where available, and depending on each tool, teachers can also have grades sent back into Moodle. The link between Moodle and these tools is made through the Learning Tools Interoperability (LTI) standard, which integrates learning platforms with learning tools to create a richer, seamless learning experience. Essentially, the LTI standard enables a secure, bi-directional exchange of information between Moodle and external learning tools. LTI External tools can be used in Moodle as activities. This page explores the LTI External Tools page, which allows you to see which LTI External tools are available in your course. It also covers how to add new LTI tools to your course, and how administrators can add LTI tools to their site. Viewing and managing LTI External tools To view the LTI External tools that are available in your course, go to Course navigation > More > LTI External tools. If your administrator or another teacher have already configured tools for your course, they will be shown on this page. The table on the page contains information about the available LTI tools in the course: Name Description Usage count: How many times the tool is being used in the course Show in Activity chooser: Whether the tool is displayed in the activity chooser so it can be used as an activity in the course. The context menu (···) contains actions you can perform on the tool, such as Edit its settings, Delete it, or see its registration details (for LTI 1.3 tools only). The actions you can perform depend on the permissions your administrator has given you. If instead of the three dots menu there is a lock icon, it means that the tool has been configured by your administrator for the whole site, and you can’t edit it. Adding LTI External tools at course level If your administrator has given you permission to manage LTI External tools, you can add new tools to your courses using the ‘Add tool’ button on the LTI External tools page. Tools that you add at course level will appear in your activity chooser by default. You can remove them from the activity chooser by going to Course page > More > LTI External Tools and toggling them off in the column ‘Show in activity chooser’. Tool settings In Tool settings, give your tool a name (and, optionally, a description). To fill in the rest of the fields in this section, including the LTI version, follow the instructions from your tool provider. If the tool doesn’t provide information about some of these settings, it’s ok to leave them blank. Tool URL - This is the URL for connecting to site. If your moodle site uses SSL (is on HTTPS) you will only be able to use a tool that also uses SSL. Make sure the tool URL has HTTPS before attempting to use it or you may get a blank page. LTI version - The LTI version of the tool you're adding. Consumer key -this tells the connecting LTI compliant site that your Moodle is allowed to connect. The "tool provider", i.e. the manger of the connecting LTI compliant site will issue you with this key. If you are merely linking to a tool with no secure access or gradebook sharing then you won't need a consumer key. If you are linking to a course or activity from another Moodle site, then you can add any consumer key. Shared secret - this is the "password" to connect to the tool - the LTI compliant site. Custom parameters - most times, you can leave this blank. The tool provider might use this to allow you to display a specific resource. Default launch container - this is how the external tool will be displayed. Embed - The content will appear within the activity page where the tool is used, not moving users away from the page, but hiding any blocks your course may have. Embed without blocks - The content will be displayed in the existing tab or window. Users will have to navigate back to the course using the ‘Back’ button once they’re done. Existing window - The content will be displayed in the existing tab or window. Users will have to navigate back to the course using the ‘Back’ button once they’re done. New Window - the external tool will open in a new window. (A new window or tab will open with the External tool and the old browser window containing the course page will not change.) Content selection URL - The Content Selection URL will be used to launch the content selection page from the tool provider. If it is empty, the Tool URL will be used. The following settings are available by clicking ""Show more": Icon URL - you can display a different icon from the default External Tool icon by entering its URL here Secure Icon URL - enter the URL of a different icon here if your students are accessing Moodle securely via SSL. Services Choose which of the services you want to use with the tool. Privacy Share launcher's name with the tool - this means that the student's name will be displayed on the connected site as in this example Share launcher's email with the tool - this means that the student's email will be displayed on the connected site as in this example Accept grades from the tool - if this is checked, the connecting site will send back grades to Moodle's gradebook. See Using External tool for more information on this. Once you Save changes, the tool will be added to the list of tools in Course page > More > LTI External tools. Site administration settings Adding a tool site-wide An administrator can manually configure external tools in Site administration > Plugins > Activity modules > External tool> Manage tools so that they are available across the site. Adding an external tool A tool may be configured by an administrator so that it is shown in the activity chooser (in addition to the external tool activity) for a teacher to select to add to a course. Its description, if one is present, will appear in the activity chooser. Making a tool available to specific course categories When configuring an LTI External tool, administrators have the option to limit its availability to specific course categories by selecting the desired categories in the 'Restrict to category' section during the tool configuration process. Registering an LTI Advantage tool Moodle allows a simple way to deploy an LTI Advantage tool. If the tool provider supports that flow, you should have received a registration URL. Simply enter that url to a tool in the 'Tool URL' and press 'Add LTI Advantage'. The tool registration UI will open and guide you to the steps for registration. Once completed, the registration panel will close and the list of tools will refresh. If the registration was successful, the newly added tool should be visible in a pending state. The pending state allows you to review the tool configuration, the privacy and services granted, apply possible modifications (for example how the tool appears in the activity chooser), then activate the tool to make it available. In case of errors when trying to start the registration, validate the registration URL with the tool's vendor the registration URL is for an LTI Advantage registration and not for the deprecated LTI 2 registration. For Tool Developers looking to support the automated registration of LTI Advantage tool, there is an implementation guide available. The registration process is also being standardized by IMS Global LTI Working Group. There is also a Youtube video demo-ing and explaining the flow. Registering an LTI 1.1 tool using a cartridge You can register an LTI 1.1 tool type using a cartridge. A cartridge will configure all the information such as launch url, tool name & description and icons for you. To do this, simply enter the url to a tool's cartridge in the 'Tool URL' and press 'Add Legacy LTI'. You will be asked to enter a key and secret. If you don't have them, you can leave them blank and press save changes. Entering a consumer key and secret Registering an external LTI 2.0 external tool The LTI 2 specifications have been deprecated by IMS Global and are no more the preferred way to integrate an external tool in Moodle. Viewing more details On the 'Manage tools' page you can also visit 'Manage preconfigured tools' to view the preconfigured tools in a tabular format. There are tabs to add an external tool, to view those which are pending and to view those which have been rejected: Setting up a new external tool You can also visit 'Manage external tool registrations' to view the tool registrations in a tabular format, or to add an external registration with limited capabilities. To add a tool with limited capabilities. 1. Click 'Configure a new external tool registration' Registering an external tool 2. Configure the details on the settings page: Registration settings page 'Memberships', allow the external tool to request a list of users with a certain role in a specified context e.g. users enrolled in a course. 3. Click the tick/checkmark to register: Activating 4. After obtaining a success message, click to complete the process: Completing the registration 5. If all requirements are met then you will be able to register automatically. 6. Now go to Site administration > Plugins > Activity modules > External tool > Manage external tool types and click the 'Pending tab' 7. Click the tick/checkmark to activate it: Activating from the Pending tab External tool capabilities Add course-specific tool configurations Add a new external tool Add a preconfigured tool Submit a tool to admins for configuration Be an admin when the tool is launched Edit external tool activities i.e. be an Instructor when the tool is launched View external tool activities i.e. launch external tool activities See also LTI External tool FAQ Forum discussion LTI configs when add external tool is switched off Source: docs.moodle.org/503/en/LTI consumer — MoodleDocs (GPL) · Imported 2026-11-10. LaTeX The TeX Filter is a core Moodle filter intended to allow one to convert tex expressions into GIF, PNG or SVG images. The filter relies on some additional binaries to accomplish this for expressions contained between appropriate tokens. Where these binaries are not available, Moodle provides for a fallback through the use of Mimetex. Versions of MimeTex for Linux (glib2.3 32bit), Windows, Mac OS X and FreeBSD are included in the Moodle distribution. There are other technologies available for displaying Tex (see the section on Mathematics tools for a discussion.) Note: being based on binaries it requires the availability of three PHP program execution functions: exec, shell_exec and system. 1 Methods and Usage 2 MimeTeX 3 Compatability with MathJax 4 Site administration settings 4.1 Installing the binaries 4.2 LaTeX preamble 4.3 Transparent colour 4.4 Density 4.5 Path of latex binary 4.6 Path of dvips binary 4.7 Path of convert binary 4.8 Path of dvisvgm binary 4.9 Path of mimetex binary 5 Debugging TeX filter 6 See also Methods and Usage To avoid confusion you should note that the TeX filter has two separate methods for converting the TeX notation to images. The preferred method is a collection of three binaries that you are responsible for installing (if they are not already present, though many webhosts make these available) and configuring on your server. The filter settings page relates entirely to this method. If this fails for any reason the filter will fall back to a single binary - MimeTeX. A number of different builds are included in the Moodle distribution for popular operating systems, though Mimetex and its bigger brother, MathTex are easy enough to compile and install if you have systems administration experience. Before doing anything else, you need to go to Settings > Site administration > Plugins > Filters and activate the TeX Notation Filter. If you want to use the Algebra filter (another core filter) since the Algebra Filter is really only a "front end" to the Tex filter, you should also turn on the Algebra filter. For more information on the Algebra Filter see the Algebra filter. Once the filter is turned on and properly configured you can make use of it by including a TeX expression delimited by double-dollar signs. Example: $$ \sqrt{x + y} $$ If this does not display properly, see the information on debugging. MimeTeX Moodle may use a pre-built MimeTeX binary (located in the filters/tex directory) as a fallback if it can't properly access dvips, convert and latex binaries. There are a number of different versions for different operating systems. The TeX filter picks the appropriate binary for the detected host operating system (you will need to hack the script if your operating system is not included). Note that your web server needs to be set up with appropriate permissions for running binaries in that location. The MimeTeX manual is available but is arguably intended for persons with systems administration experience and does not specifically address the Moodle environment. You should only use MimeTeX if installing the full LaTeX system fails or the binaries are not available on your system. The results are not nearly as good. Compatability with MathJax In Moodle 2.8 onwards, the TeX Notation and MathJaxloader filter may be used in combination. If both filters are enabled on the page, images will be displayed first by the TeX notation filter, and the MathJax version of the TeX expression will replace a little while later when MathJax has finished loading and processing. If both filters are available, a teacher may decide which to use in an activity by enabling one and disabling the other. Site administration settings Location: TeX Notation settings link in Settings > Site administration > Plugins > Filters > Manage filters The TeX filter settings page are primarily intended to adjust the operation of the LaTeX renderer. The defaults for the three path settings are selected according to the detection of the operating system on which Moodle is running. These are simply suggested common values - Moodle does not check that the binaries actually exist at these locations. More recent versions of Moodle show a green tick or a red cross next to the path setting - this shows that the binary exists at that location (only). The settings have no effect on the operation of the MimeTex binary (used if any of these binaries are not found). Installing the binaries This depends on your platform, but for a typical install you are going to need a LaTeX implementation. On modern Linux implementations you should look for the 'texlive' package (e.g. apt-get install texlive) although a Windows version is available (see Tex Live). It is highly unlikely that you will have all these binaries as part of a standard install. If you cannot find texlive you may have to install LaTeX, Ghostscript and ImageMagick separately. While not endorsed by Moodle.org, a simple installation binary for Windows is MikTeX. For security reasons, you should ensure shell escape is disabled (shell_escape = f) in your LaTeX configuration (if is enabled, this will be set to "t"). This is to prevent the risk of users being able to execute external commands. Note that this is usually disabled by default. (If this is set to "p" i.e. restricted mode, a predefined set of commands are allowed, if this is the desired behaviour, be extremely careful which commands are allowed given all users will have access to these). The filter settings page will try to guess the most likely location for the binary files depending on the detected platform. If correct, green ticks will appear against each setting. If red crosses appear you will need to check and modify the settings as required. A simple check is made to establish if the binaries exist at the given paths. A tick or a cross is displayed alongside each as a result. Note that this does not check that the application actually works, just that it is there. Some systems supply the fonts as separate packages. If you are having problems make sure you have all the fonts you need installed. You may need to track down an 'extra' fonts package to get the required maths fonts. LaTeX preamble Enables the LaTeX preamble to be specified. The default should work for most users, but you may need to change it to support non-Latin character sets etc. Please see the LaTeX documentation for further details. Transparent colour This should be set to your normal text background colour. The default setting is #FFFFFF (i.e., white). Density This setting effects the size of the resulting image. The default setting is 120 pixels, and it produces an image of reasonable quality, but for some complicated equations, this still may not be enough. It may be that anything less is not going to produce an image of sufficient quality but the image size can be controlled by the TeX encoding when the page is rendered. Path of latex binary Path to standard latex binary. On Unix based systems it is normally "/usr/bin/latex". On a MacOS X, the path is "/usr/texbin/". In Windows, using MiKTeX, it is usually something like C:\texmf\miktex\bin\latex.exe Path of dvips binary Path to standard dvips binary - generally distributed as part of a LaTeX system. On Unix based systems it is normally "/usr/bin/dvips". On a MacOS X, the path is "/usr/texbin/". On Windows using MikTeX is usually something like C:\texmf\miktex\bin\dvips.exe Path of convert binary Path to standard convert binary. It is necessary to produce GIF or PNG images from using the latex and dvips binaries. This is distributed as part of the Ghostscript system, or ImageMagick in Linux. On Unix based systems it is normally "/usr/bin/convert". On a MacOS X, the path is "/usr/local/bin/". On a Windows-based PC the path is something like C:\Program Files\ImageMagick\convert.exe (for ImageMagick, but something else for GhostScript.) Path of dvisvgm binary This binary is used instead of convert to produce SVG images. This is distributed as part of TeXlive on Linux although it may be require the full or extra packages to be installed. On Unix based systems it is normally "/usr/bin/dvisvgm". On a Windows-based PC a compiled binary is available from sourceforge and can placed in the same directory with the latex binary. Path of mimetex binary If this is blank and the binaries above are missing or fail, the TeX filter will attempt to use a mimetex binary distributed with Moodle. If you have installed mimetex on the server and would rather use it include the path here. Debugging TeX filter The TeX filter has a debugging script (which will be much more helpful if you turn on Debugging) included that should help if you are having problems. The URL will be as follows... http://your.moodle.path/filter/tex/texdebug.php You can either enter this path explicitly or with appropriate role permissions the TeX images (or more likely incorrectly rendered text, if you need debugging) will link to this. On more recent versions of Moodle you are required to be logged in as an Administrator to access this facility. See also TeX Filter Glossary - a glossary you can add to your course which details usage of the supported TeX notation. LaTeX - the LaTeX document preparation system. ghostscript - required to render the image MimeTeX Manual - Default TeX notation manual MikTeX - LaTeX for Windows systems ImageMagick - required to render images for Windows Using TeX Notation Advanced Maths Tools for Moodle 2.x - SEE - The Next Generation of TeX Tools Mathematics tools forum on moodle.org Source: docs.moodle.org/503/en/LaTeX — MoodleDocs (GPL) · Imported 2026-11-10. Licences Licence settings An administrator can specify the default site licence from Site administration > Licence > Licence settings. The setting 'Remember user licence preference' (enable by default) will remember the last licence selected by a user when uploading a file. If the setting is disabled, the default licence will be used. Licence manager From the licence manager, the administrator can disable certain licences (except the specified default). A button 'Create licence' allows the administrator to enter details of a custom licence, along with its URL: Creating a custom licence Users can now select Creative Commons licences version 4.0. (The 3.0 licences have not been altered). Licences affecting what users see Note: The licence given to a file when uploaded to Moodle does not in any way affect its visibility on a course. It simply creates the default when it is being re-used elsewhere. This default licence can be changed at the time of display. Source: docs.moodle.org/503/en/Licences — MoodleDocs (GPL) · Imported 2026-11-10. License listing Licence settings An administrator can specify the default site licence from Site administration > Licence > Licence settings. The setting 'Remember user licence preference' (enable by default) will remember the last licence selected by a user when uploading a file. If the setting is disabled, the default licence will be used. Licence manager From the licence manager, the administrator can disable certain licences (except the specified default). A button 'Create licence' allows the administrator to enter details of a custom licence, along with its URL: Creating a custom licence Users can now select Creative Commons licences version 4.0. (The 3.0 licences have not been altered). Licences affecting what users see Note: The licence given to a file when uploaded to Moodle does not in any way affect its visibility on a course. It simply creates the default when it is being re-used elsewhere. This default licence can be changed at the time of display. Source: docs.moodle.org/503/en/License listing — MoodleDocs (GPL) · Imported 2026-11-10. Licenses Licence settings An administrator can specify the default site licence from Site administration > Licence > Licence settings. The setting 'Remember user licence preference' (enable by default) will remember the last licence selected by a user when uploading a file. If the setting is disabled, the default licence will be used. Licence manager From the licence manager, the administrator can disable certain licences (except the specified default). A button 'Create licence' allows the administrator to enter details of a custom licence, along with its URL: Creating a custom licence Users can now select Creative Commons licences version 4.0. (The 3.0 licences have not been altered). Licences affecting what users see Note: The licence given to a file when uploaded to Moodle does not in any way affect its visibility on a course. It simply creates the default when it is being re-used elsewhere. This default licence can be changed at the time of display. Source: docs.moodle.org/503/en/Licenses — MoodleDocs (GPL) · Imported 2026-11-10. MP3 Audio is a very powerful tool to use in a Moodle course. Teachers and students can use audio actively, by recording short messages directly into the text editor. Teachers can also display audio so students can, for example to catch up on missed lectures, learn from podcasts, or improve their language skills by listening to native speakers interact. To use audio in Moodle to best effect, the Multimedia plugins filter must be enabled. 1 Recording short audio messages 2 Types of audio (sound) files 3 Ways of displaying audio 3.1 Linking to a sound file online elsewhere 3.2 Uploading audio 3.3 Embedding a sound file in its own player 3.3.1 Using the Moodle media icon 3.3.2 Using a hyperlink 3.3.3 Using embed code to display online audio 4 See also Recording short audio messages The Text editor allows teachers and students to record short audio messages by clicking the relevant icon. (If you don't see this setting in the editor, ask your administrator to check the RecordRTC settings.) Example uses are: Introductions in Forum posts Spoken assignments instead of typed Quiz questions where the teacher speaks the question Types of audio (sound) files The default VideoJS player will play the following audio files: mp3, .aac, .flac, .m4a, .oga, .ogg, .wav Ways of displaying audio Linking to a sound file online elsewhere If your audio file is hosted elsewhere online you can simply link to the relevant page by choosing URL from 'Add an activity or resource' and pasting in the relevant link given you by the site. Note that, in an establishment where certain sharing sites might be banned, your students might not be able to access your sound file through Moodle. Uploading audio If your browser allows resources to be dragged and dropped, then you can turn on the editing and drag the audio file directly onto the course page. A box will then appear for you to decide whether you want the audio embedded in a label, or added as a clickable file resource: Alternatively, you can upload the audio file by turning the editing on and choosing Add an activity or resource > File. Embedding a sound file in its own player Moodle includes a built-in audio player. If the relevant Multimedia plugins filter is enabled by the administrator and within the course, sound files embedded into the text editor will play inline. Using the Moodle media icon With your editing turned on, click into the HTML editor where you wish to embed your sound file. (It needs to be mp3.) Click the Multimedia icon. Drag and drop the file to upload it or add the URL of the file. Click the Browse repositories button to locate and upload your audio file from the repository where it is stored. (What you see depends on what the admin has enabled.) If you have it in more than one file type, then you can upload an alternative video by clicking 'Add alternative source'. This helps make your sound file play on more browsers and devices. Advanced settings allows you to decide how the file will play Subtitles and captions allows you to add subtitle files (VTT) in different languages and/or caption files, with descriptions, chapters and metadata. Subtitles, captions, chapters and descriptions can be added to videos and audios using WebVTT file format. These files can be created using caption making software or just plain text editor. Find out more about WebVTT format here (https://w3c.github.io/webvtt/) Click the Insert media button when you are ready. Your sound file will appear but not yet play. Once saved, your file will display in its own player: The playback rate (speed) of the audio can be changed. Using a hyperlink (Note - this method has no advantage over using the media icon, but was popular in older versions of Moodle) With your editing turned on, click into the HTML editor where you wish to embed your mp3 file. Type some blank spaces and select them. Click the hyperlink icon as in the following screenshot.(The icon will only be clickable if you have selected text or spaces) Click "Browse repositories": This takes you to the file picker. Follow the instructions for uploading/selecting your sound file as for using the Moodle media icon. When your file is chosen, it will appear in the link URL box as below. Click Create link" Don't panic! You will now only get a blue line in the HTML editor: When you click save changes to return to the main course page, your mp3 file will display. Using embed code to display online audio Some sites provide embed code/widgets that will enable you to play their mp3 files on your Moodle. First - go to your chosen site and copy this code of the mp3 file you wish to use. With your editing turned on, click into the HTML editor where you wish to embed the file. Click the HTML code icon as in the following screenshot: Paste your embed code into the box: Scroll down and click "update". The mp3 file will be previewed in the HTML editor. Click save changes for it to display on the page See also Media FAQ Speech tools Source: docs.moodle.org/503/en/MP3 — MoodleDocs (GPL) · Imported 2026-11-10. Mahara According to the Mahara web site "Mahara is an open source e-portfolio, weblog, résumé builder and social networking system, connecting users and creating online learner communities. Mahara is designed to provide users with the tools to demonstrate their life-long learning, skills and development over time to selected audiences." Mahara has close links with Moodle. There is a built in single sign on facility called Mahoodle. Mahara can serve as a Portfolio into which users can "push" files they want to keep. The option needs to be enabled by the administrator before becoming available for teachers and students Enabling the Mahara portfolio In order to enable and export items to Mahara you first need an installation of Mahara linked to your Moodle. See here Mahoodle for instructions. Go to Administration > Site administration > Advanced features and ensure "Enable portfolios" is checked/ticked Go to Administration > Site administration > Plugins > Portfolios > Manage Portfolios Select from the drop down next to Mahara ePortfolio "Enabled and visible" If desired,click on "Settings" and give Mahara a customised name (not essential) Sending or "pushing" your files to Mahara You can export items such as assignments, chat and forum posts to enabled portfolios. Here is an example with a forum post: At the bottom of your completed forum post are the words "export to portfolio". Click the words "export to portfolio" and then select from the dropdown Mahara. (If it is the only portfolio enabled, it wil be the only choice!) Click "Next" Choose the export type you want. Mahara offers HTML or LEAP 2A format. Then click "Next" again. On the next screen, click "continue " to confirm your export. The "export complete" message will appear. Clicking "continue" will take you to Mahara. Mahara as a repository Progress on the Mahara repository plug in can be followed in the tracker: MDL-16909 Source: docs.moodle.org/503/en/Mahara — MoodleDocs (GPL) · Imported 2026-11-10. Mahara ePortfolio According to the Mahara web site "Mahara is an open source e-portfolio, weblog, résumé builder and social networking system, connecting users and creating online learner communities. Mahara is designed to provide users with the tools to demonstrate their life-long learning, skills and development over time to selected audiences." Mahara has close links with Moodle. There is a built in single sign on facility called Mahoodle. Mahara can serve as a Portfolio into which users can "push" files they want to keep. The option needs to be enabled by the administrator before becoming available for teachers and students Enabling the Mahara portfolio In order to enable and export items to Mahara you first need an installation of Mahara linked to your Moodle. See here Mahoodle for instructions. Go to Administration > Site administration > Advanced features and ensure "Enable portfolios" is checked/ticked Go to Administration > Site administration > Plugins > Portfolios > Manage Portfolios Select from the drop down next to Mahara ePortfolio "Enabled and visible" If desired,click on "Settings" and give Mahara a customised name (not essential) Sending or "pushing" your files to Mahara You can export items such as assignments, chat and forum posts to enabled portfolios. Here is an example with a forum post: At the bottom of your completed forum post are the words "export to portfolio". Click the words "export to portfolio" and then select from the dropdown Mahara. (If it is the only portfolio enabled, it wil be the only choice!) Click "Next" Choose the export type you want. Mahara offers HTML or LEAP 2A format. Then click "Next" again. On the next screen, click "continue " to confirm your export. The "export complete" message will appear. Clicking "continue" will take you to Mahara. Mahara as a repository Progress on the Mahara repository plug in can be followed in the tracker: MDL-16909 Source: docs.moodle.org/503/en/Mahara ePortfolio — MoodleDocs (GPL) · Imported 2026-11-10. Mahara portfolio According to the Mahara web site "Mahara is an open source e-portfolio, weblog, résumé builder and social networking system, connecting users and creating online learner communities. Mahara is designed to provide users with the tools to demonstrate their life-long learning, skills and development over time to selected audiences." Mahara has close links with Moodle. There is a built in single sign on facility called Mahoodle. Mahara can serve as a Portfolio into which users can "push" files they want to keep. The option needs to be enabled by the administrator before becoming available for teachers and students Enabling the Mahara portfolio In order to enable and export items to Mahara you first need an installation of Mahara linked to your Moodle. See here Mahoodle for instructions. Go to Administration > Site administration > Advanced features and ensure "Enable portfolios" is checked/ticked Go to Administration > Site administration > Plugins > Portfolios > Manage Portfolios Select from the drop down next to Mahara ePortfolio "Enabled and visible" If desired,click on "Settings" and give Mahara a customised name (not essential) Sending or "pushing" your files to Mahara You can export items such as assignments, chat and forum posts to enabled portfolios. Here is an example with a forum post: At the bottom of your completed forum post are the words "export to portfolio". Click the words "export to portfolio" and then select from the dropdown Mahara. (If it is the only portfolio enabled, it wil be the only choice!) Click "Next" Choose the export type you want. Mahara offers HTML or LEAP 2A format. Then click "Next" again. On the next screen, click "continue " to confirm your export. The "export complete" message will appear. Clicking "continue" will take you to Mahara. Mahara as a repository Progress on the Mahara repository plug in can be followed in the tracker: MDL-16909 Source: docs.moodle.org/503/en/Mahara portfolio — MoodleDocs (GPL) · Imported 2026-11-10. Manage Repositories 1 Enabling repositories 2 Vocabulary 3 Common repository settings 3.1 Cache expire 3.2 Timeout settings 3.2.1 Get file timeout 3.2.2 Sync file timeout 3.2.3 Sync image timeout 3.3 Allow external links 4 Repository capabilities Enabling repositories Repositories can be enabled by an administrator in Site administration > Plugins > Repositories > Manage repositories. A repository plugin may be set to one of three possible statuses: "Enabled and visible" means available for use in the File picker "Enabled and hidden" means not available in the File picker "Disabled" means not available for use and if content has been added to your site you will be given the following message: Are you sure you want to remove this repository plugin, its options and all of its instances - [Repository Name here]? If you choose "Continue and download", file references to external contents will be downloaded to Moodle. This could take a long time to process. With options to Continue, Continue and download, or Cancel. The order in which repositories are shown in the file picker may be set using the up and down arrows. Vocabulary Repository plugin: it is also called a repository type. It can be named Box, Flickr, Mahara, Youtube... Adding a plugin allow users to create instances of this plugin. Only instances are displayed into the file picker. Type only exist in order to let a Moodle administrator to deactivate/delete all instances of a type in one click. Repository instance: An instance is displayed into the file picker and it is the access point to an external repository. An instance can have specific settings (for example be linked to a personal account). First case: when you add the plugin, an instance is automatically created and can not be edited. The Moodle administrator cannot change the instance name. The instance name displayed into the file picker will be exactly the same as the plugin name. For example, Youtube, Box... Second case: the plugin allow the Moodle administrator to add multiple instances. An instance has a name for example Flickr Public access to Martin account, Martin's Mahara... For this second case it is important to identify two different kind of instances: Common instances: The instances set by Moodle administrator in these same administration pages will be available into any file picker. Private instance: A teacher can set some instances available only for a course, and a user can set some instances only available for himself. In order to set instances for a course the teacher will go to the course page, and in order to set instances for a personal use, a user will go on his profile page. An administrator cannot add/edit private instances from the administration pages. Common repository settings Common repository settings can be set by an administrator in Site administration > Plugins > Repositories > Common Repository settings: Cache expire You can specify how long in seconds file listings are cached locally when browsing external repositories. Timeout settings If users are reporting timeouts when using repositories, an admin can increase the timeout for downloading or synchronising files. Get file timeout Timeout in seconds for downloading an external file into Moodle. Defaults to 30. Sync file timeout Timeout in seconds for syncronising the external file size. Defaults to 1. Sync image timeout Timeout in seconds for downloading an image file from external repository during syncronisation. Defaults to 3. Allow external links With some repositories such as Flickr and Wikimedia, users can have the choice whether to copy the media into Moodle (the preferred solution) or to make a link to it instead. Defaults to Yes. Repository capabilities Authenticated user role: View Embedded files View Box repository View a Dropbox folder View Flickr repository Use Flickr public repository in file picker View Google Drive repository View the Merlot repository View Picasa repository View Recent files View Amazon s3 repository View Microsoft OneDrive repository Use uploading in file picker Use URL downloader in file picker View use Private files View Wikimedia repository Use YouTube in file picker Manager, Course creator, Teacher, Non-editing teacher Roles: View File system repository View Server repository View WebDav repository Source: docs.moodle.org/503/en/Manage Repositories — MoodleDocs (GPL) · Imported 2026-11-10. Manage Repository 1 Enabling repositories 2 Vocabulary 3 Common repository settings 3.1 Cache expire 3.2 Timeout settings 3.2.1 Get file timeout 3.2.2 Sync file timeout 3.2.3 Sync image timeout 3.3 Allow external links 4 Repository capabilities Enabling repositories Repositories can be enabled by an administrator in Site administration > Plugins > Repositories > Manage repositories. A repository plugin may be set to one of three possible statuses: "Enabled and visible" means available for use in the File picker "Enabled and hidden" means not available in the File picker "Disabled" means not available for use and if content has been added to your site you will be given the following message: Are you sure you want to remove this repository plugin, its options and all of its instances - [Repository Name here]? If you choose "Continue and download", file references to external contents will be downloaded to Moodle. This could take a long time to process. With options to Continue, Continue and download, or Cancel. The order in which repositories are shown in the file picker may be set using the up and down arrows. Vocabulary Repository plugin: it is also called a repository type. It can be named Box, Flickr, Mahara, Youtube... Adding a plugin allow users to create instances of this plugin. Only instances are displayed into the file picker. Type only exist in order to let a Moodle administrator to deactivate/delete all instances of a type in one click. Repository instance: An instance is displayed into the file picker and it is the access point to an external repository. An instance can have specific settings (for example be linked to a personal account). First case: when you add the plugin, an instance is automatically created and can not be edited. The Moodle administrator cannot change the instance name. The instance name displayed into the file picker will be exactly the same as the plugin name. For example, Youtube, Box... Second case: the plugin allow the Moodle administrator to add multiple instances. An instance has a name for example Flickr Public access to Martin account, Martin's Mahara... For this second case it is important to identify two different kind of instances: Common instances: The instances set by Moodle administrator in these same administration pages will be available into any file picker. Private instance: A teacher can set some instances available only for a course, and a user can set some instances only available for himself. In order to set instances for a course the teacher will go to the course page, and in order to set instances for a personal use, a user will go on his profile page. An administrator cannot add/edit private instances from the administration pages. Common repository settings Common repository settings can be set by an administrator in Site administration > Plugins > Repositories > Common Repository settings: Cache expire You can specify how long in seconds file listings are cached locally when browsing external repositories. Timeout settings If users are reporting timeouts when using repositories, an admin can increase the timeout for downloading or synchronising files. Get file timeout Timeout in seconds for downloading an external file into Moodle. Defaults to 30. Sync file timeout Timeout in seconds for syncronising the external file size. Defaults to 1. Sync image timeout Timeout in seconds for downloading an image file from external repository during syncronisation. Defaults to 3. Allow external links With some repositories such as Flickr and Wikimedia, users can have the choice whether to copy the media into Moodle (the preferred solution) or to make a link to it instead. Defaults to Yes. Repository capabilities Authenticated user role: View Embedded files View Box repository View a Dropbox folder View Flickr repository Use Flickr public repository in file picker View Google Drive repository View the Merlot repository View Picasa repository View Recent files View Amazon s3 repository View Microsoft OneDrive repository Use uploading in file picker Use URL downloader in file picker View use Private files View Wikimedia repository Use YouTube in file picker Manager, Course creator, Teacher, Non-editing teacher Roles: View File system repository View Server repository View WebDav repository Source: docs.moodle.org/503/en/Manage Repository — MoodleDocs (GPL) · Imported 2026-11-10. Manage content display Load video YouTube YouTube might collect personal data. Privacy Policy Managing filters at course or activity level To enable/disable filters in a course or activity: From the More menu select Filters Set each filter on or off as required Click the 'Save changes' button Managing filters at site level To enable/disable filters on the site: Go to Site administration > Plugins > Filters > Manage filters. Select 'On' (always available for all courses), 'Off but available' (teachers can choose whether to enable the filter for the course or activity) or 'Disabled' (always off for all courses) as required for each filter. Use the up/down arrow icons to arrange the filters in the order in which they should be applied. If you find that a particular filter isn't working, try moving it higher up the list. Notes: If enabled, the MathJax filter should be at the top (applied first). The MathJax and TeX notation filters may be enabled at the same time. TeX notation will normally appear first and be replaced by later MathJax. Using both together may improve the user experience when all Mathematics is in display mode. Leave all filters applying to content only unless you particularly need a filter, such as the Multi-language content filter to apply to headings too. (If you need to turn on this option, you almost certainly also want to turn on the option 'Filter navigation with system context' in Site administration > Plugins > Filters > Common filter settings to avoid performance impacts.) Certain filters have additional settings, which can be accessed via the links in the settings column. Tip: The 'Off but available' setting is useful for example if you only want emoticons for use in social forums. Filter settings in a forum Manage filters at site level Filters capabilities There is just one filters capability, Manage local filter settings, which is allowed for the default roles of manager and teacher. Source: docs.moodle.org/503/en/Manage content display — MoodleDocs (GPL) · Imported 2026-11-10. Manage repositories 1 Enabling repositories 2 Vocabulary 3 Common repository settings 3.1 Cache expire 3.2 Timeout settings 3.2.1 Get file timeout 3.2.2 Sync file timeout 3.2.3 Sync image timeout 3.3 Allow external links 4 Repository capabilities Enabling repositories Repositories can be enabled by an administrator in Site administration > Plugins > Repositories > Manage repositories. A repository plugin may be set to one of three possible statuses: "Enabled and visible" means available for use in the File picker "Enabled and hidden" means not available in the File picker "Disabled" means not available for use and if content has been added to your site you will be given the following message: Are you sure you want to remove this repository plugin, its options and all of its instances - [Repository Name here]? If you choose "Continue and download", file references to external contents will be downloaded to Moodle. This could take a long time to process. With options to Continue, Continue and download, or Cancel. The order in which repositories are shown in the file picker may be set using the up and down arrows. Vocabulary Repository plugin: it is also called a repository type. It can be named Box, Flickr, Mahara, Youtube... Adding a plugin allow users to create instances of this plugin. Only instances are displayed into the file picker. Type only exist in order to let a Moodle administrator to deactivate/delete all instances of a type in one click. Repository instance: An instance is displayed into the file picker and it is the access point to an external repository. An instance can have specific settings (for example be linked to a personal account). First case: when you add the plugin, an instance is automatically created and can not be edited. The Moodle administrator cannot change the instance name. The instance name displayed into the file picker will be exactly the same as the plugin name. For example, Youtube, Box... Second case: the plugin allow the Moodle administrator to add multiple instances. An instance has a name for example Flickr Public access to Martin account, Martin's Mahara... For this second case it is important to identify two different kind of instances: Common instances: The instances set by Moodle administrator in these same administration pages will be available into any file picker. Private instance: A teacher can set some instances available only for a course, and a user can set some instances only available for himself. In order to set instances for a course the teacher will go to the course page, and in order to set instances for a personal use, a user will go on his profile page. An administrator cannot add/edit private instances from the administration pages. Common repository settings Common repository settings can be set by an administrator in Site administration > Plugins > Repositories > Common Repository settings: Cache expire You can specify how long in seconds file listings are cached locally when browsing external repositories. Timeout settings If users are reporting timeouts when using repositories, an admin can increase the timeout for downloading or synchronising files. Get file timeout Timeout in seconds for downloading an external file into Moodle. Defaults to 30. Sync file timeout Timeout in seconds for syncronising the external file size. Defaults to 1. Sync image timeout Timeout in seconds for downloading an image file from external repository during syncronisation. Defaults to 3. Allow external links With some repositories such as Flickr and Wikimedia, users can have the choice whether to copy the media into Moodle (the preferred solution) or to make a link to it instead. Defaults to Yes. Repository capabilities Authenticated user role: View Embedded files View Box repository View a Dropbox folder View Flickr repository Use Flickr public repository in file picker View Google Drive repository View the Merlot repository View Picasa repository View Recent files View Amazon s3 repository View Microsoft OneDrive repository Use uploading in file picker Use URL downloader in file picker View use Private files View Wikimedia repository Use YouTube in file picker Manager, Course creator, Teacher, Non-editing teacher Roles: View File system repository View Server repository View WebDav repository Source: docs.moodle.org/503/en/Manage repositories — MoodleDocs (GPL) · Imported 2026-11-10. Managing LTI External tools 1 What are LTI External tools? 2 Viewing and managing LTI External tools 3 Adding LTI External tools at course level 3.1 Tool settings 3.2 Services 3.3 Privacy 4 Site administration settings 4.1 Adding a tool site-wide 4.1.1 Making a tool available to specific course categories 4.2 Registering an LTI Advantage tool 4.3 Registering an LTI 1.1 tool using a cartridge 4.4 Registering an external LTI 2.0 external tool 4.5 Viewing more details 5 External tool capabilities 6 See also What are LTI External tools? Load video YouTube YouTube might collect personal data. Privacy Policy LTI External tool LTI External tools are add-on apps you can integrate into your course, such as interactive content, activities, or assessments. Teachers can link to these activities from within their Moodle course page, and students can access them without leaving their Moodle course or having to log in to a different system. Where available, and depending on each tool, teachers can also have grades sent back into Moodle. The link between Moodle and these tools is made through the Learning Tools Interoperability (LTI) standard, which integrates learning platforms with learning tools to create a richer, seamless learning experience. Essentially, the LTI standard enables a secure, bi-directional exchange of information between Moodle and external learning tools. LTI External tools can be used in Moodle as activities. This page explores the LTI External Tools page, which allows you to see which LTI External tools are available in your course. It also covers how to add new LTI tools to your course, and how administrators can add LTI tools to their site. Viewing and managing LTI External tools To view the LTI External tools that are available in your course, go to Course navigation > More > LTI External tools. If your administrator or another teacher have already configured tools for your course, they will be shown on this page. The table on the page contains information about the available LTI tools in the course: Name Description Usage count: How many times the tool is being used in the course Show in Activity chooser: Whether the tool is displayed in the activity chooser so it can be used as an activity in the course. The context menu (···) contains actions you can perform on the tool, such as Edit its settings, Delete it, or see its registration details (for LTI 1.3 tools only). The actions you can perform depend on the permissions your administrator has given you. If instead of the three dots menu there is a lock icon, it means that the tool has been configured by your administrator for the whole site, and you can’t edit it. Adding LTI External tools at course level If your administrator has given you permission to manage LTI External tools, you can add new tools to your courses using the ‘Add tool’ button on the LTI External tools page. Tools that you add at course level will appear in your activity chooser by default. You can remove them from the activity chooser by going to Course page > More > LTI External Tools and toggling them off in the column ‘Show in activity chooser’. Tool settings In Tool settings, give your tool a name (and, optionally, a description). To fill in the rest of the fields in this section, including the LTI version, follow the instructions from your tool provider. If the tool doesn’t provide information about some of these settings, it’s ok to leave them blank. Tool URL - This is the URL for connecting to site. If your moodle site uses SSL (is on HTTPS) you will only be able to use a tool that also uses SSL. Make sure the tool URL has HTTPS before attempting to use it or you may get a blank page. LTI version - The LTI version of the tool you're adding. Consumer key -this tells the connecting LTI compliant site that your Moodle is allowed to connect. The "tool provider", i.e. the manger of the connecting LTI compliant site will issue you with this key. If you are merely linking to a tool with no secure access or gradebook sharing then you won't need a consumer key. If you are linking to a course or activity from another Moodle site, then you can add any consumer key. Shared secret - this is the "password" to connect to the tool - the LTI compliant site. Custom parameters - most times, you can leave this blank. The tool provider might use this to allow you to display a specific resource. Default launch container - this is how the external tool will be displayed. Embed - The content will appear within the activity page where the tool is used, not moving users away from the page, but hiding any blocks your course may have. Embed without blocks - The content will be displayed in the existing tab or window. Users will have to navigate back to the course using the ‘Back’ button once they’re done. Existing window - The content will be displayed in the existing tab or window. Users will have to navigate back to the course using the ‘Back’ button once they’re done. New Window - the external tool will open in a new window. (A new window or tab will open with the External tool and the old browser window containing the course page will not change.) Content selection URL - The Content Selection URL will be used to launch the content selection page from the tool provider. If it is empty, the Tool URL will be used. The following settings are available by clicking ""Show more": Icon URL - you can display a different icon from the default External Tool icon by entering its URL here Secure Icon URL - enter the URL of a different icon here if your students are accessing Moodle securely via SSL. Services Choose which of the services you want to use with the tool. Privacy Share launcher's name with the tool - this means that the student's name will be displayed on the connected site as in this example Share launcher's email with the tool - this means that the student's email will be displayed on the connected site as in this example Accept grades from the tool - if this is checked, the connecting site will send back grades to Moodle's gradebook. See Using External tool for more information on this. Once you Save changes, the tool will be added to the list of tools in Course page > More > LTI External tools. Site administration settings Adding a tool site-wide An administrator can manually configure external tools in Site administration > Plugins > Activity modules > External tool> Manage tools so that they are available across the site. Adding an external tool A tool may be configured by an administrator so that it is shown in the activity chooser (in addition to the external tool activity) for a teacher to select to add to a course. Its description, if one is present, will appear in the activity chooser. Making a tool available to specific course categories When configuring an LTI External tool, administrators have the option to limit its availability to specific course categories by selecting the desired categories in the 'Restrict to category' section during the tool configuration process. Registering an LTI Advantage tool Moodle allows a simple way to deploy an LTI Advantage tool. If the tool provider supports that flow, you should have received a registration URL. Simply enter that url to a tool in the 'Tool URL' and press 'Add LTI Advantage'. The tool registration UI will open and guide you to the steps for registration. Once completed, the registration panel will close and the list of tools will refresh. If the registration was successful, the newly added tool should be visible in a pending state. The pending state allows you to review the tool configuration, the privacy and services granted, apply possible modifications (for example how the tool appears in the activity chooser), then activate the tool to make it available. In case of errors when trying to start the registration, validate the registration URL with the tool's vendor the registration URL is for an LTI Advantage registration and not for the deprecated LTI 2 registration. For Tool Developers looking to support the automated registration of LTI Advantage tool, there is an implementation guide available. The registration process is also being standardized by IMS Global LTI Working Group. There is also a Youtube video demo-ing and explaining the flow. Registering an LTI 1.1 tool using a cartridge You can register an LTI 1.1 tool type using a cartridge. A cartridge will configure all the information such as launch url, tool name & description and icons for you. To do this, simply enter the url to a tool's cartridge in the 'Tool URL' and press 'Add Legacy LTI'. You will be asked to enter a key and secret. If you don't have them, you can leave them blank and press save changes. Entering a consumer key and secret Registering an external LTI 2.0 external tool The LTI 2 specifications have been deprecated by IMS Global and are no more the preferred way to integrate an external tool in Moodle. Viewing more details On the 'Manage tools' page you can also visit 'Manage preconfigured tools' to view the preconfigured tools in a tabular format. There are tabs to add an external tool, to view those which are pending and to view those which have been rejected: Setting up a new external tool You can also visit 'Manage external tool registrations' to view the tool registrations in a tabular format, or to add an external registration with limited capabilities. To add a tool with limited capabilities. 1. Click 'Configure a new external tool registration' Registering an external tool 2. Configure the details on the settings page: Registration settings page 'Memberships', allow the external tool to request a list of users with a certain role in a specified context e.g. users enrolled in a course. 3. Click the tick/checkmark to register: Activating 4. After obtaining a success message, click to complete the process: Completing the registration 5. If all requirements are met then you will be able to register automatically. 6. Now go to Site administration > Plugins > Activity modules > External tool > Manage external tool types and click the 'Pending tab' 7. Click the tick/checkmark to activate it: Activating from the Pending tab External tool capabilities Add course-specific tool configurations Add a new external tool Add a preconfigured tool Submit a tool to admins for configuration Be an admin when the tool is launched Edit external tool activities i.e. be an Instructor when the tool is launched View external tool activities i.e. launch external tool activities See also LTI External tool FAQ Forum discussion LTI configs when add external tool is switched off Source: docs.moodle.org/503/en/Managing LTI External tools — MoodleDocs (GPL) · Imported 2026-11-10. Managing content Moodle is not primarily a content management system but it does offer a range of ways to import, export and manage digital content of any kind to enable and support learning. The following links will provide more information: Working with files - how to upload files and folders to Moodle. Repositories - how to import content into Moodle from external storage sites like Flickr, Youtube, Google docs etc. Portfolios - how to export content from Moodle into external portfolios like Mahara. Working with media - how best to upload and display images, sound, video and embedded content. H5P Content bank Data formats - formats for downloading data such as logs, assignment submissions, quiz results and feedback responses. Document converters - plugins for converting uploaded assignment submissions to PDF format for teachers to annotate. Filters - how to display links,media players, Maths symbols, emoticons and more. Licences - how to display and choose an appropriate licence for your files. LTI External tools Plagiarism prevention - how to check students' submitted work is not copied. Download course content - course items, such as content from the File, Folder, Page and Label can be downloaded. Source: docs.moodle.org/503/en/Managing content — MoodleDocs (GPL) · Imported 2026-11-10. Managing filters Load video YouTube YouTube might collect personal data. Privacy Policy Managing filters at course or activity level To enable/disable filters in a course or activity: From the More menu select Filters Set each filter on or off as required Click the 'Save changes' button Managing filters at site level To enable/disable filters on the site: Go to Site administration > Plugins > Filters > Manage filters. Select 'On' (always available for all courses), 'Off but available' (teachers can choose whether to enable the filter for the course or activity) or 'Disabled' (always off for all courses) as required for each filter. Use the up/down arrow icons to arrange the filters in the order in which they should be applied. If you find that a particular filter isn't working, try moving it higher up the list. Notes: If enabled, the MathJax filter should be at the top (applied first). The MathJax and TeX notation filters may be enabled at the same time. TeX notation will normally appear first and be replaced by later MathJax. Using both together may improve the user experience when all Mathematics is in display mode. Leave all filters applying to content only unless you particularly need a filter, such as the Multi-language content filter to apply to headings too. (If you need to turn on this option, you almost certainly also want to turn on the option 'Filter navigation with system context' in Site administration > Plugins > Filters > Common filter settings to avoid performance impacts.) Certain filters have additional settings, which can be accessed via the links in the settings column. Tip: The 'Off but available' setting is useful for example if you only want emoticons for use in social forums. Filter settings in a forum Manage filters at site level Filters capabilities There is just one filters capability, Manage local filter settings, which is allowed for the default roles of manager and teacher. Source: docs.moodle.org/503/en/Managing filters — MoodleDocs (GPL) · Imported 2026-11-10. Managing plagiarism prevention 1 Enabling plagiarism prevention 2 Plagiarism prevention plugins 2.1 Fully supported plugins 2.2 Partially supported plugins 3 Other tools for managing plagiarism Enabling plagiarism prevention To make use of plagiarism prevention, the feature must be enabled by an administrator by checking the enable plagiarism plugins box in Administration > Site administration > Advanced features. Plagiarism prevention plugins An administrator then needs to install and configure one or more plagiarism prevention plugins in Administration > Site administration > Plugins > Plagiarism prevention > Plagiarism settings. Possible plugins include: Fully supported plugins These are plugins that support plagiarism detection within the Moodle Assignment, Workshop, Forum, and essay questions within the Moodle quiz activities Compilatio - Commercial tool requires paid subscription Turnitin - Commercial tool requires paid subscription Originality - Commercial tool requires paid subscription Unicheck - Commercial tool requires paid subscription Ouriginal - Previously called Urkund - recently acquired by Turnitin and in process of shutting down/migrating clients to Turnitin. Originality.ai - Inexpensive commercial tool requires paid subscription (does not currently support Workshop) Partially supported plugins These are plugins that currently only support the Moodle Assignment activity. CopyCheck - Commercial tool requires paid subscription PLAGIARISMA - Commercial tool requires paid subscription PlagScan - Commercial tool requires paid subscription Vericite - Commercial tool requires paid subscription Other tools for managing plagiarism Acknowledge plagiarism statement access rule - A plugin by the Open University lets you require students to agree to a statement about not plagiarising before starting a quiz. Safe Exam Browser quiz access rule - Provides Safe Exam Browser 2.0 integration for Moodle. Essay (auto-grade) question type - An additional essay question type that can use a glossary of common errors to detect plagiarized phrases. [verwalten] [prevención de plagio] Source: docs.moodle.org/503/en/Managing plagiarism prevention — MoodleDocs (GPL) · Imported 2026-11-10. Managing portfolios Enabling portfolios Enabling the use of portfolios in Moodle is a 2-step process for a site administrator: Check the enableportfolios box in Administration > Site administration > Advanced features Enable selected portfolio plugins in Administration > Site administration > Plugins > Portfolios > Manage portfolios Individual portfolios will have a "Settings" link with configuration details and information. Individual user settings for portfolios See Portfolios for details on how individuals can choose which enabled portfolios to display or hide and how to view the records of exported items. Portfolio capabilities Export own assignment submissions Export forum discussions Export forum posts Export own forum posts Export own database activity entries Export glossary entries Export own glossary entries Export to portfolio Source: docs.moodle.org/503/en/Managing portfolios — MoodleDocs (GPL) · Imported 2026-11-10. Managing repositories 1 Enabling repositories 2 Vocabulary 3 Common repository settings 3.1 Cache expire 3.2 Timeout settings 3.2.1 Get file timeout 3.2.2 Sync file timeout 3.2.3 Sync image timeout 3.3 Allow external links 4 Repository capabilities Enabling repositories Repositories can be enabled by an administrator in Site administration > Plugins > Repositories > Manage repositories. A repository plugin may be set to one of three possible statuses: "Enabled and visible" means available for use in the File picker "Enabled and hidden" means not available in the File picker "Disabled" means not available for use and if content has been added to your site you will be given the following message: Are you sure you want to remove this repository plugin, its options and all of its instances - [Repository Name here]? If you choose "Continue and download", file references to external contents will be downloaded to Moodle. This could take a long time to process. With options to Continue, Continue and download, or Cancel. The order in which repositories are shown in the file picker may be set using the up and down arrows. Vocabulary Repository plugin: it is also called a repository type. It can be named Box, Flickr, Mahara, Youtube... Adding a plugin allow users to create instances of this plugin. Only instances are displayed into the file picker. Type only exist in order to let a Moodle administrator to deactivate/delete all instances of a type in one click. Repository instance: An instance is displayed into the file picker and it is the access point to an external repository. An instance can have specific settings (for example be linked to a personal account). First case: when you add the plugin, an instance is automatically created and can not be edited. The Moodle administrator cannot change the instance name. The instance name displayed into the file picker will be exactly the same as the plugin name. For example, Youtube, Box... Second case: the plugin allow the Moodle administrator to add multiple instances. An instance has a name for example Flickr Public access to Martin account, Martin's Mahara... For this second case it is important to identify two different kind of instances: Common instances: The instances set by Moodle administrator in these same administration pages will be available into any file picker. Private instance: A teacher can set some instances available only for a course, and a user can set some instances only available for himself. In order to set instances for a course the teacher will go to the course page, and in order to set instances for a personal use, a user will go on his profile page. An administrator cannot add/edit private instances from the administration pages. Common repository settings Common repository settings can be set by an administrator in Site administration > Plugins > Repositories > Common Repository settings: Cache expire You can specify how long in seconds file listings are cached locally when browsing external repositories. Timeout settings If users are reporting timeouts when using repositories, an admin can increase the timeout for downloading or synchronising files. Get file timeout Timeout in seconds for downloading an external file into Moodle. Defaults to 30. Sync file timeout Timeout in seconds for syncronising the external file size. Defaults to 1. Sync image timeout Timeout in seconds for downloading an image file from external repository during syncronisation. Defaults to 3. Allow external links With some repositories such as Flickr and Wikimedia, users can have the choice whether to copy the media into Moodle (the preferred solution) or to make a link to it instead. Defaults to Yes. Repository capabilities Authenticated user role: View Embedded files View Box repository View a Dropbox folder View Flickr repository Use Flickr public repository in file picker View Google Drive repository View the Merlot repository View Picasa repository View Recent files View Amazon s3 repository View Microsoft OneDrive repository Use uploading in file picker Use URL downloader in file picker View use Private files View Wikimedia repository Use YouTube in file picker Manager, Course creator, Teacher, Non-editing teacher Roles: View File system repository View Server repository View WebDav repository Source: docs.moodle.org/503/en/Managing repositories — MoodleDocs (GPL) · Imported 2026-11-10. MathJax filter The MathJax filter parses Moodle texts and will fully render TeX expressions that it finds appearing within specific tokens. The Mathjax filter also enables the equation editor that is part of the text editor. Site administration settings The MathJax filter is enabled by default in Administration > Site administration > Plugins > Filters > Manage filters. Normally, the MathJax filter should be at the top of the list of filters. The MathJax filter works without any additional configuration. However, MathJax may also be installed locally if desired, to save on bandwidth or because of local proxy restrictions. See Administration > Site administration > Plugins > Filters > MathJax for further details and configuration settings. MathJax has a setting for "TeX filter compatibility" that changes the behaviour to match as closely as possible, the "Tex filter". This means it will support all the different delimiters of the Tex filter, and display all equations as "inline". It is only recommended to enable this setting if you have existing equations written manually using a variety of delimiters supported by the old filter. It may be hard to determine if this is the case except by searching the database for equations of the form: $$ equation $$, [tex] equation [/tex], equation or \( equation \) The MathJax project is large and detailed with many options, which a Moodle admin can make use of with the MathJax filter. See also Text editor for more details of the equation editor Using TeX Notation Mathematics tools forum on moodle.org Source: docs.moodle.org/503/en/MathJax filter — MoodleDocs (GPL) · Imported 2026-11-10. Media FAQ 1 What are the privacy options when using YouTube or Vimeo? 2 Should I put my video into a Text and media area or a page? 3 How can I get rid of the variable audio speed control? 4 My embedded youTube video doesn't display different language subtitles/playlists 5 My embedded video is too big/small. How can I change its display size? 5.1 If you're using Moodle's Multimedia plugins filter 5.2 If you're using embed code 6 Why won't my swf/FLV video play? 7 How can I convert my video file to another format? 8 I have a .wma/wav file. How can I play it in Moodle's player? 9 Videos don't embed even though the filters are enabled 10 How can I disable player embedding for one particular link? 11 Why won't my video play? 12 Can I know if my students watched my (whole) videos? What are the privacy options when using YouTube or Vimeo? From Site administration > Plugins > Media players, the YouTube and Vimeo pages have checkboxes to prevent tracking of any session data, including all cookies and analytics. For YouTube the setting is: Use no cookie domain. For Vimeo the setting is: Enable do not track Vimeo links. Should I put my video into a Text and media area or a page? While the embedding process is the same, adding a video to a Text and media area will mean it displays as soon as the user clicks on that course page. This can be beneficial if the video is, for example, an introduction to the course or an integral part of the whole course. However, if there are several videos in Text and media areas, they can slow the loading of the course down, especially if the videos are coming from an external site. Adding a video to a page in Moodle means that the user has to click a text link to reach the video, but it doesn't clutter up the main course page and it is a better choice if the course contains a large number of videos. How can I get rid of the variable audio speed control? If you don't want your learners to be able to change the speed of an audio file, use the CSS suggested in the forum post: Moodle 4 Variable audio speed control My embedded youTube video doesn't display different language subtitles/playlists This is an issue with the VideoJS player currently. A workaround is to disable the setting 'YouTube videos' in the VideoJS player settings of Site administration (ensuring the YouTube filter is enabled in Manage media players) Then copy and paste the YouTube URL directly into your editor. My embedded video is too big/small. How can I change its display size? Changing the size of an embedded video depends on whether you're using Moodle's Multimedia plugins filter or if you're either embedding a video from another source using something like an iframe (for example, embedding a video from YouTube using the embed code they provide). If you're using Moodle's Multimedia plugins filter Click the Media icon in the text editor. Click the Video tab and then click Display options. You will be able to change its size there. If you're using embed code Click the code/HTML source icon in your text editor Locate the Inside that iframe should be "width" and "height" variables, which you can adjust as needed. Click "update" in the HTML source editor screen, and save your changes. Your video should now be the new size. Why won't my swf/FLV video play? Swf and FLV files are no longer supported so you should try to display your videos in a different, more accessible format. How can I convert my video file to another format? There are many sites online that allow you to upload a file which will then be converted and sent to you via a link or email. However, if it is a large video file or you want to do the conversion off line, then the free Any Video Converter [1] (a downloadable program) will convert most video formats to most others. More and more full-featured MTS Video Converter [2] software free download a trial, to solve your problem more format conversions. The free and open source video player, VLC has the ability to convert to and from many video formats. For more details and downloads visit their site. I have a .wma/wav file. How can I play it in Moodle's player? There are various free programs available that will convert one type of sound file to another. If you convert your file to an mp3 then you will be able to use Moodle's built-in mp3 player. Jodix Free WMA to MP3 converter [3] is just one example Videos don't embed even though the filters are enabled You might need to change the order of your filters. See Filters and also the forum discussion I can't embed YouTube videos How can I disable player embedding for one particular link? If you want to prevent the embedded player and keep just the link to the video, add "nomediaplugin" class to the HTML anchor tag producing the link. For example: Link text Why won't my video play? If your video displays the error message "The media could not be loaded...", check if the video file name includes a space, and if so, replace it with a dash or underscore. Can I know if my students watched my (whole) videos? If you hosted your videos in YouTube, sign into your Google account, go to YouTube Studio, In the left panel of 'Your Chanel' choose 'Videos' and click on the icon for 'Analytics'. There you will find the number of viewers per day and the 'Audience retention'. Many students will quit watching a long, boring video. Short, interesting videos may have a higher rate of success amongs students nowadays. Source: docs.moodle.org/503/en/Media FAQ — MoodleDocs (GPL) · Imported 2026-11-10. Media Player The default player VideoJS provides industry-leading accessibility and usability for video and audio in your content. Watch the screencast Media players to view a demonstration. Additional media players can be enabled in 'Manage media players' in Site administration and new media players can easily be added as plugins. Source: docs.moodle.org/503/en/Media Player — MoodleDocs (GPL) · Imported 2026-11-10. Media embedding Moodle makes embedding video and sound files very straightforward. Media (audio and video) may be dragged and dropped directly onto the course page, added as a File resource or linked to as a URL resource and they will also display in Moodle's text editor. Using the Text editor provides extra options with media files, such as the option to directly record sound and video from the editor. Load video YouTube YouTube might collect personal data. Privacy Policy Display sound and video files See Video and Audio for instructions on how to embed video and sound files in the text editor. The Multimedia plugins filter must be enabled and then specific players may be enabled or disabled from 'Manage media players' in Site administration. The default player, VideoJS player supports (video) mov, .mp4, .m4v, .mpeg, .mpe, .mpg, .ogv, .webm, .flv, .f4v (audio) .mp3, .aac, .flac, .m4a, .oga, .ogg, .wav Other available players are: YouTube (displays videos hosted on YouTube) Vimeo (displays videos hosted on vimeo) HTML 5 video HTML 5 audio A default width and height for videos can be set by the administrator from the 'Manage media players' page. Teachers adding videos via the Moodle media button in the text editor may also specify a width and height. Source: docs.moodle.org/503/en/Media embedding — MoodleDocs (GPL) · Imported 2026-11-10. Media players The default player VideoJS provides industry-leading accessibility and usability for video and audio in your content. Watch the screencast Media players to view a demonstration. Additional media players can be enabled in 'Manage media players' in Site administration and new media players can easily be added as plugins. Source: docs.moodle.org/503/en/Media players — MoodleDocs (GPL) · Imported 2026-11-10. Merlot.org The Merlot.org repository enables users to copy files from Merlot into Moodle. Enabling the Merlot.org repository (admin settings) Go to Administration > Site administration > Plugins > Repositories > Manage Repositories; Select from the drop down next to Merlot.org "Enabled and visible" Click on "Settings" and give it a customised name (not essential) Add your license key (which may be obtained from here [1] ) Using the Merlot.org repository With the editing turned on in your course, select Add a resource>URL Click "Choose link" next to the External URL box. The Merlot.org repository will be available as a link to search for content. Type in a search term or author and then click the Search button A selection of suggested resources will appear: Searching the Merlot respository The search results Click the item you wish to display;choose a licence and click Select this file The resource will appear on your course page with the URL icon. Repository capabilities There is just one capability, View the Merlot repository, which is allowed for the default authenticated user role. Source: docs.moodle.org/503/en/Merlot.org — MoodleDocs (GPL) · Imported 2026-11-10. Merlot.org repository The Merlot.org repository enables users to copy files from Merlot into Moodle. Enabling the Merlot.org repository (admin settings) Go to Administration > Site administration > Plugins > Repositories > Manage Repositories; Select from the drop down next to Merlot.org "Enabled and visible" Click on "Settings" and give it a customised name (not essential) Add your license key (which may be obtained from here [1] ) Using the Merlot.org repository With the editing turned on in your course, select Add a resource>URL Click "Choose link" next to the External URL box. The Merlot.org repository will be available as a link to search for content. Type in a search term or author and then click the Search button A selection of suggested resources will appear: Searching the Merlot respository The search results Click the item you wish to display;choose a licence and click Select this file The resource will appear on your course page with the URL icon. Repository capabilities There is just one capability, View the Merlot repository, which is allowed for the default authenticated user role. Source: docs.moodle.org/503/en/Merlot.org repository — MoodleDocs (GPL) · Imported 2026-11-10. Multi lang 1 Displaying text in multiple languages 2 Enabling the multi-language content filter 3 How to use in a course 3.1 Correct structure 3.2 Incorrect structure 4 How to use for assignment submission agreements 5 How it works internally 6 Common problems 7 The 'Restriction by language' additional plugin 8 The Multi-Language Content (v2) additional plugin and Multi-Language Content text editor plugins 9 The Multi-Lingual Content additional plugin 10 Any questions? 11 See also Displaying text in multiple languages The multi-language content filter enables resources to be created in multiple languages. When turned on, it looks for tags which indicate that a text contains multiple languages. Then it selects and outputs the text in the user's language (as set in their browser or in their preferences). Enabling the multi-language content filter An admin can enable the multi-language content filter as follows: Go to Site administration > Plugins > Filters > Manage filters and in the dropdown menu for multi-language content select 'On'. If headings are to be shown in multiple languages too, select 'Content and headings' in the 'Apply to' column. Go to Site administration > Plugins > Filters > Common filter settings and ensure that 'Filter navigation with system context' is turned on. Turning on 'Apply to' 'Content and headings' without also turning on the setting at Step 3. can significantly slow down your Moodle site. How to use in a course To use this feature first create your content in multiple languages (in the same resource). Then enclose each language block (aka multilang block) in the following tags: your_content_here your_content_in_other_language_here It is essential to be in the code editing mode (press [<>] in the HTML editor), when you enter these tags for them to work. Only spaces, tabs and enters can be used between the individual languages in the multilang block. It is important to ensure each multilang block is nested in the same parent element as the other related multilang blocks. Correct structure Each multilang block is nested together inside the parent element. your_content_here your_content_in_other_language_here Incorrect structure Each multilang block is nested in its own parent element. your_content_here your_content_in_other_language_here Note: If your site uses a child language pack (see Language packs for the list), then the first span tag must be the parent language. Otherwise, when a user using the child language views the text, it will not be in the correct language for them (as reported in MDL-55197). For example, if your site uses en_us then the en span tag (as parent language) must be first i.e. your_content_in English your_content_in_German_here How to use for assignment submission agreements With the filter enabled, go to Site administration > Plugins > Activity modules > Assignment > Assignment settings. In the submission statement, add (for example) This assignment is my own work, except where I have acknowledged the use of the works of other people. Ce devoir est le fruit de mon travail personnel, sauf aux endroits où l'utilisation d'oeuvre d'autres auteurs est clairement indiquée. How it works internally Filter first looks for multilang blocks in the text For each multilang block: If there are texts in the currently active language, print them Else, if there exists texts in the current parent language, print them Else, print the first language found in the text Text outside of multilang blocks will be shown always Common problems The multi-lang filter is not enabled. It can be enabled in 'Manage filters' in the Site administration'. Headings aren't displaying correctly - the multi-lang filter should be set to apply to content and headings in 'Manage filters' in the Site administration'. Extra characters between language span tags - editor might add or other tags, please review the html in source view If the course setting is "force" some language, you won't be able to change the displayed language. Extra spaces in language span tag The 'Restriction by language' additional plugin Restriction by language Language filters are great, but sometimes they can make your resources and activities very complex. The Restriction by language availability condition is an additional plugin that makes it easy to show an English resource only to English users and an activity in French only to French speaking students. The Multi-Language Content (v2) additional plugin and Multi-Language Content text editor plugins There is also an alternative multi-language content filter available called Multi-language Content (v2). This filter uses very simple non-HTML tags to mark multi-language blocks (makes it easier to create multi-language content), and can be used together with the Multi-Language Content TinyMCE plugin to make it even easier to create multi-language content directly on the text editor without using the HTML view mode. The Multi-Lingual Content additional plugin Multi-lingual Content is a more flexible version of the multilang filter. One of three possible choices can be selected by the filter admin setting: HTML syntax, Non HTML syntax or Both. If the non html syntax is chosen language block looks like: {mlang en}English{mlang}{mlang bg}Bulgarian{mlang}. In case of Html syntax, language block is a sequence of identical html tags with lang="XX" attributes span or div or any other. Any questions? Please post in the Languages forum on moodle.org. See also Language Custom menu items in Theme settings Is the official language filter the way to go? (What's your experience?) Translation of MOOC forum discussion and solution Source: docs.moodle.org/503/en/Multi lang — MoodleDocs (GPL) · Imported 2026-11-10. Multi language content 1 Displaying text in multiple languages 2 Enabling the multi-language content filter 3 How to use in a course 3.1 Correct structure 3.2 Incorrect structure 4 How to use for assignment submission agreements 5 How it works internally 6 Common problems 7 The 'Restriction by language' additional plugin 8 The Multi-Language Content (v2) additional plugin and Multi-Language Content text editor plugins 9 The Multi-Lingual Content additional plugin 10 Any questions? 11 See also Displaying text in multiple languages The multi-language content filter enables resources to be created in multiple languages. When turned on, it looks for tags which indicate that a text contains multiple languages. Then it selects and outputs the text in the user's language (as set in their browser or in their preferences). Enabling the multi-language content filter An admin can enable the multi-language content filter as follows: Go to Site administration > Plugins > Filters > Manage filters and in the dropdown menu for multi-language content select 'On'. If headings are to be shown in multiple languages too, select 'Content and headings' in the 'Apply to' column. Go to Site administration > Plugins > Filters > Common filter settings and ensure that 'Filter navigation with system context' is turned on. Turning on 'Apply to' 'Content and headings' without also turning on the setting at Step 3. can significantly slow down your Moodle site. How to use in a course To use this feature first create your content in multiple languages (in the same resource). Then enclose each language block (aka multilang block) in the following tags: your_content_here your_content_in_other_language_here It is essential to be in the code editing mode (press [<>] in the HTML editor), when you enter these tags for them to work. Only spaces, tabs and enters can be used between the individual languages in the multilang block. It is important to ensure each multilang block is nested in the same parent element as the other related multilang blocks. Correct structure Each multilang block is nested together inside the parent element. your_content_here your_content_in_other_language_here Incorrect structure Each multilang block is nested in its own parent element. your_content_here your_content_in_other_language_here Note: If your site uses a child language pack (see Language packs for the list), then the first span tag must be the parent language. Otherwise, when a user using the child language views the text, it will not be in the correct language for them (as reported in MDL-55197). For example, if your site uses en_us then the en span tag (as parent language) must be first i.e. your_content_in English your_content_in_German_here How to use for assignment submission agreements With the filter enabled, go to Site administration > Plugins > Activity modules > Assignment > Assignment settings. In the submission statement, add (for example) This assignment is my own work, except where I have acknowledged the use of the works of other people. Ce devoir est le fruit de mon travail personnel, sauf aux endroits où l'utilisation d'oeuvre d'autres auteurs est clairement indiquée. How it works internally Filter first looks for multilang blocks in the text For each multilang block: If there are texts in the currently active language, print them Else, if there exists texts in the current parent language, print them Else, print the first language found in the text Text outside of multilang blocks will be shown always Common problems The multi-lang filter is not enabled. It can be enabled in 'Manage filters' in the Site administration'. Headings aren't displaying correctly - the multi-lang filter should be set to apply to content and headings in 'Manage filters' in the Site administration'. Extra characters between language span tags - editor might add or other tags, please review the html in source view If the course setting is "force" some language, you won't be able to change the displayed language. Extra spaces in language span tag The 'Restriction by language' additional plugin Restriction by language Language filters are great, but sometimes they can make your resources and activities very complex. The Restriction by language availability condition is an additional plugin that makes it easy to show an English resource only to English users and an activity in French only to French speaking students. The Multi-Language Content (v2) additional plugin and Multi-Language Content text editor plugins There is also an alternative multi-language content filter available called Multi-language Content (v2). This filter uses very simple non-HTML tags to mark multi-language blocks (makes it easier to create multi-language content), and can be used together with the Multi-Language Content TinyMCE plugin to make it even easier to create multi-language content directly on the text editor without using the HTML view mode. The Multi-Lingual Content additional plugin Multi-lingual Content is a more flexible version of the multilang filter. One of three possible choices can be selected by the filter admin setting: HTML syntax, Non HTML syntax or Both. If the non html syntax is chosen language block looks like: {mlang en}English{mlang}{mlang bg}Bulgarian{mlang}. In case of Html syntax, language block is a sequence of identical html tags with lang="XX" attributes span or div or any other. Any questions? Please post in the Languages forum on moodle.org. See also Language Custom menu items in Theme settings Is the official language filter the way to go? (What's your experience?) Translation of MOOC forum discussion and solution Source: docs.moodle.org/503/en/Multi language content — MoodleDocs (GPL) · Imported 2026-11-10. Multi-language content filter 1 Displaying text in multiple languages 2 Enabling the multi-language content filter 3 How to use in a course 3.1 Correct structure 3.2 Incorrect structure 4 How to use for assignment submission agreements 5 How it works internally 6 Common problems 7 The 'Restriction by language' additional plugin 8 The Multi-Language Content (v2) additional plugin and Multi-Language Content text editor plugins 9 The Multi-Lingual Content additional plugin 10 Any questions? 11 See also Displaying text in multiple languages The multi-language content filter enables resources to be created in multiple languages. When turned on, it looks for tags which indicate that a text contains multiple languages. Then it selects and outputs the text in the user's language (as set in their browser or in their preferences). Enabling the multi-language content filter An admin can enable the multi-language content filter as follows: Go to Site administration > Plugins > Filters > Manage filters and in the dropdown menu for multi-language content select 'On'. If headings are to be shown in multiple languages too, select 'Content and headings' in the 'Apply to' column. Go to Site administration > Plugins > Filters > Common filter settings and ensure that 'Filter navigation with system context' is turned on. Turning on 'Apply to' 'Content and headings' without also turning on the setting at Step 3. can significantly slow down your Moodle site. How to use in a course To use this feature first create your content in multiple languages (in the same resource). Then enclose each language block (aka multilang block) in the following tags: your_content_here your_content_in_other_language_here It is essential to be in the code editing mode (press [<>] in the HTML editor), when you enter these tags for them to work. Only spaces, tabs and enters can be used between the individual languages in the multilang block. It is important to ensure each multilang block is nested in the same parent element as the other related multilang blocks. Correct structure Each multilang block is nested together inside the parent element. your_content_here your_content_in_other_language_here Incorrect structure Each multilang block is nested in its own parent element. your_content_here your_content_in_other_language_here Note: If your site uses a child language pack (see Language packs for the list), then the first span tag must be the parent language. Otherwise, when a user using the child language views the text, it will not be in the correct language for them (as reported in MDL-55197). For example, if your site uses en_us then the en span tag (as parent language) must be first i.e. your_content_in English your_content_in_German_here How to use for assignment submission agreements With the filter enabled, go to Site administration > Plugins > Activity modules > Assignment > Assignment settings. In the submission statement, add (for example) This assignment is my own work, except where I have acknowledged the use of the works of other people. Ce devoir est le fruit de mon travail personnel, sauf aux endroits où l'utilisation d'oeuvre d'autres auteurs est clairement indiquée. How it works internally Filter first looks for multilang blocks in the text For each multilang block: If there are texts in the currently active language, print them Else, if there exists texts in the current parent language, print them Else, print the first language found in the text Text outside of multilang blocks will be shown always Common problems The multi-lang filter is not enabled. It can be enabled in 'Manage filters' in the Site administration'. Headings aren't displaying correctly - the multi-lang filter should be set to apply to content and headings in 'Manage filters' in the Site administration'. Extra characters between language span tags - editor might add or other tags, please review the html in source view If the course setting is "force" some language, you won't be able to change the displayed language. Extra spaces in language span tag The 'Restriction by language' additional plugin Restriction by language Language filters are great, but sometimes they can make your resources and activities very complex. The Restriction by language availability condition is an additional plugin that makes it easy to show an English resource only to English users and an activity in French only to French speaking students. The Multi-Language Content (v2) additional plugin and Multi-Language Content text editor plugins There is also an alternative multi-language content filter available called Multi-language Content (v2). This filter uses very simple non-HTML tags to mark multi-language blocks (makes it easier to create multi-language content), and can be used together with the Multi-Language Content TinyMCE plugin to make it even easier to create multi-language content directly on the text editor without using the HTML view mode. The Multi-Lingual Content additional plugin Multi-lingual Content is a more flexible version of the multilang filter. One of three possible choices can be selected by the filter admin setting: HTML syntax, Non HTML syntax or Both. If the non html syntax is chosen language block looks like: {mlang en}English{mlang}{mlang bg}Bulgarian{mlang}. In case of Html syntax, language block is a sequence of identical html tags with lang="XX" attributes span or div or any other. Any questions? Please post in the Languages forum on moodle.org. See also Language Custom menu items in Theme settings Is the official language filter the way to go? (What's your experience?) Translation of MOOC forum discussion and solution Source: docs.moodle.org/503/en/Multi-language content filter — MoodleDocs (GPL) · Imported 2026-11-10. Multilang filter 1 Displaying text in multiple languages 2 Enabling the multi-language content filter 3 How to use in a course 3.1 Correct structure 3.2 Incorrect structure 4 How to use for assignment submission agreements 5 How it works internally 6 Common problems 7 The 'Restriction by language' additional plugin 8 The Multi-Language Content (v2) additional plugin and Multi-Language Content text editor plugins 9 The Multi-Lingual Content additional plugin 10 Any questions? 11 See also Displaying text in multiple languages The multi-language content filter enables resources to be created in multiple languages. When turned on, it looks for tags which indicate that a text contains multiple languages. Then it selects and outputs the text in the user's language (as set in their browser or in their preferences). Enabling the multi-language content filter An admin can enable the multi-language content filter as follows: Go to Site administration > Plugins > Filters > Manage filters and in the dropdown menu for multi-language content select 'On'. If headings are to be shown in multiple languages too, select 'Content and headings' in the 'Apply to' column. Go to Site administration > Plugins > Filters > Common filter settings and ensure that 'Filter navigation with system context' is turned on. Turning on 'Apply to' 'Content and headings' without also turning on the setting at Step 3. can significantly slow down your Moodle site. How to use in a course To use this feature first create your content in multiple languages (in the same resource). Then enclose each language block (aka multilang block) in the following tags: your_content_here your_content_in_other_language_here It is essential to be in the code editing mode (press [<>] in the HTML editor), when you enter these tags for them to work. Only spaces, tabs and enters can be used between the individual languages in the multilang block. It is important to ensure each multilang block is nested in the same parent element as the other related multilang blocks. Correct structure Each multilang block is nested together inside the parent element. your_content_here your_content_in_other_language_here Incorrect structure Each multilang block is nested in its own parent element. your_content_here your_content_in_other_language_here Note: If your site uses a child language pack (see Language packs for the list), then the first span tag must be the parent language. Otherwise, when a user using the child language views the text, it will not be in the correct language for them (as reported in MDL-55197). For example, if your site uses en_us then the en span tag (as parent language) must be first i.e. your_content_in English your_content_in_German_here How to use for assignment submission agreements With the filter enabled, go to Site administration > Plugins > Activity modules > Assignment > Assignment settings. In the submission statement, add (for example) This assignment is my own work, except where I have acknowledged the use of the works of other people. Ce devoir est le fruit de mon travail personnel, sauf aux endroits où l'utilisation d'oeuvre d'autres auteurs est clairement indiquée. How it works internally Filter first looks for multilang blocks in the text For each multilang block: If there are texts in the currently active language, print them Else, if there exists texts in the current parent language, print them Else, print the first language found in the text Text outside of multilang blocks will be shown always Common problems The multi-lang filter is not enabled. It can be enabled in 'Manage filters' in the Site administration'. Headings aren't displaying correctly - the multi-lang filter should be set to apply to content and headings in 'Manage filters' in the Site administration'. Extra characters between language span tags - editor might add or other tags, please review the html in source view If the course setting is "force" some language, you won't be able to change the displayed language. Extra spaces in language span tag The 'Restriction by language' additional plugin Restriction by language Language filters are great, but sometimes they can make your resources and activities very complex. The Restriction by language availability condition is an additional plugin that makes it easy to show an English resource only to English users and an activity in French only to French speaking students. The Multi-Language Content (v2) additional plugin and Multi-Language Content text editor plugins There is also an alternative multi-language content filter available called Multi-language Content (v2). This filter uses very simple non-HTML tags to mark multi-language blocks (makes it easier to create multi-language content), and can be used together with the Multi-Language Content TinyMCE plugin to make it even easier to create multi-language content directly on the text editor without using the HTML view mode. The Multi-Lingual Content additional plugin Multi-lingual Content is a more flexible version of the multilang filter. One of three possible choices can be selected by the filter admin setting: HTML syntax, Non HTML syntax or Both. If the non html syntax is chosen language block looks like: {mlang en}English{mlang}{mlang bg}Bulgarian{mlang}. In case of Html syntax, language block is a sequence of identical html tags with lang="XX" attributes span or div or any other. Any questions? Please post in the Languages forum on moodle.org. See also Language Custom menu items in Theme settings Is the official language filter the way to go? (What's your experience?) Translation of MOOC forum discussion and solution Source: docs.moodle.org/503/en/Multilang filter — MoodleDocs (GPL) · Imported 2026-11-10. Multimedia plugins The Multimedia plugins filter finds a link in text that points to a multimedia resource and replaces the link with an appropriate multimedia player code which can play the resource. The actual player resides on the user's computer. For example, a teacher may put a MP3 audio file as a resource in their course, or have a URL link to an external MP3 file. When the MP3 audio plugin has been turned on, the student will be able to play them using a media player on their computer. See also Media embedding. Site administration settings You can enable the multimedia plugins filter via Site administration > Plugins > Manage filters. You can enable or disable available media players via Site administration > Plugins > Manage media players. The default media player is VideoJS player. See also Multimedia plugins FAQ Video Audio Source: docs.moodle.org/503/en/Multimedia plugins — MoodleDocs (GPL) · Imported 2026-11-10. Multimedia plugins FAQ 1 What is the best way of embedding media in Moodle? 2 The video player is not appearing for me. I only see a link or embed code text. 3 How can I have embedded media resized appropriately? 4 See also What is the best way of embedding media in Moodle? See Video and Audio. The video player is not appearing for me. I only see a link or embed code text. Make sure that the Multimedia plugins filter is on in Site administration > Plugins > Filters > Manage filters. Note: the order of filters matters, as they are processed in order such that one filter may affect another. For more details, see Managing filters. How can I have embedded media resized appropriately? The administrator can set a default size from the VideoJS player page, and course teachers can resize individual videos from 'Display options' when clicking the Media button in the Text editor upon adding a video file. See also Editing text Multimedia plugins filter Video Source: docs.moodle.org/503/en/Multimedia plugins FAQ — MoodleDocs (GPL) · Imported 2026-11-10. Multimedia plugins filter The Multimedia plugins filter finds a link in text that points to a multimedia resource and replaces the link with an appropriate multimedia player code which can play the resource. The actual player resides on the user's computer. For example, a teacher may put a MP3 audio file as a resource in their course, or have a URL link to an external MP3 file. When the MP3 audio plugin has been turned on, the student will be able to play them using a media player on their computer. See also Media embedding. Site administration settings You can enable the multimedia plugins filter via Site administration > Plugins > Manage filters. You can enable or disable available media players via Site administration > Plugins > Manage media players. The default media player is VideoJS player. See also Multimedia plugins FAQ Video Audio Source: docs.moodle.org/503/en/Multimedia plugins filter — MoodleDocs (GPL) · Imported 2026-11-10. My private files 1 The private files area 2 Private files management 2.1 Bulk delete private files 3 Emailing private files as an attachment 4 Making an alias/shortcut to a file in the private files area 5 Private files size limit 6 Checking space used by Private files 7 Preventing access to Private files 8 Private files capabilities The private files area Each user has a private files area for uploading and managing a set of files. If enabled by the administrator, users can also email files to their private files area. Load video YouTube YouTube might collect personal data. Privacy Policy Private files The private files area can be accessed from User menu top right or, if added, from the My private files block. If the private files repository is enabled by a site admin, it is available as a source within the filepicker when selecting files to use in a course. Private files management To add a file to your private files area Click Private files from your User menu. The file manager will appear. If desired, create a folder for your file(s) Click on the Add button to upload from the File picker or drag and drop from your desktop. It will look like the files are already there, but they aren't until you do the next step! Click the 'Save changes' button Once uploaded, files will appear as thumbnails. Clicking the icons top right will display them in table or list view as an alternative. Bulk delete private files When in list view, it is possible to select and bulk delete private files, rather than removing them individually. Bulk delete private files Emailing private files as an attachment This requires the administrator to have enabled incoming mail processing in Site administration>Server>Incoming mail configuration>Mail settings and Email to private files in Site administration>Server>Incoming mail configuration>Message handlers. When these settings are enabled, users will see an email address in their private files screen: This is the email address to which the email including the attached file should be sent. It will appear after cron in the user's private files after cron has run. For a demonstration of emailing to private files, watch the Usability screencast from Moodle HQ, starting at 1m8s. Making an alias/shortcut to a file in the private files area If a file is uploaded into your private files area, it is possible when using it elsewhere on Moodle to select it as an alias/shortcut. This means that if you update the file in your private files area, it will automatically update elsewhere on Moodle. See Working with files for more information. Private files size limit The size limit for each user's private files area is set by a site administrator in 'Private files space' (userquota) in Site administration > Security > Site security settings. Checking space used by Private files Non-admin users such as students and teachers see a message informing them how much space they have used when they upload a file to their Private files See the discussion: How do you check space used by Private files? to see how, as an admin you can see private files usage on your site. Preventing access to Private files If you don't wish to use private files on your site, you can prevent access as follows: Log in as an admin and go to Site administration > Plugins > Repositories > Manage repositories and disable the Private files repository. Go to Site administration > Users > Permissions > Define Roles and edit the authenticated user role. Unset the capabilities moodle/user:manageownfiles and repository/user:view and save changes. If you want teachers to be able to access private files but not students, then in addition to the above steps Go to Site administration > Users > Permissions > Define Roles and create a new role to be assigned in the system context. Allow the capabilities moodle/user:manageownfiles and repository/user:view and save changes. Assign teachers this new role as a system role. Private files capabilities Manage files in own private file area View user private files Source: docs.moodle.org/503/en/My private files — MoodleDocs (GPL) · Imported 2026-11-10. Nextcloud Load video YouTube YouTube might collect personal data. Privacy Policy 1 Enabling the Nextcloud repository 2 Access controlled links 3 Troubleshooting 4 Repository capabilities 5 See also Enabling the Nextcloud repository Prior to using the Nextcloud repository, an administrator must first create a Nextcloud service in the OAuth 2 configuration. Afterwards, the repository can be enabled. Configure Nextcloud for use with Moodle. Create a Nextcloud service. Go to 'Manage repositories' in Site administration and enable the Nextcloud repository. On the Nextcloud configuration page, click Create a repository instance. Enter a Name (that will be displayed to your users) and, as the Issuer, select the service that was created in step 2. If you want, you can also change the "Moodlefiles" folder name (*) to something that you prefer. (*) When users access an access controlled link, the corresponding document will be shared privately with them. That document will be placed in a folder by that name. You can choose a simple name that matches the name of your Moodle so that your users will understand where these files belong. Access controlled links Students may submit files from Nextcloud as 'access controlled links' in assignments. Once submitted, the student may no longer change them, but the teacher is allowed to edit them, for example to provide comments. Teachers may display files from Nextcloud as 'access controlled links'. The teacher can update the files, but students can only view them. Changes made by teachers will be reflected in the course. To enable this feature, ensure that: A system account has been connected in OAuth 2 services in Site administration. This account will own and control access to files submitted by students and teachers. Teachers will be able to edit the files but students will not. This must be a dedicated account for this purpose, i.e. it must not be an account that belongs to an individual. "Supported files" is set to "Internal and External". Optional: "Default return type" is set to "External (only links stored in Moodle)". Troubleshooting Please refer to Troubleshooting. Repository capabilities There is just one capability, View Nextcloud repository, which is allowed for the default authenticated user role. See also Cannot use properly Nextcloud integrations - installations with NGINX forum discussion Source: docs.moodle.org/503/en/Nextcloud — MoodleDocs (GPL) · Imported 2026-11-10. Nextcloud repository Load video YouTube YouTube might collect personal data. Privacy Policy 1 Enabling the Nextcloud repository 2 Access controlled links 3 Troubleshooting 4 Repository capabilities 5 See also Enabling the Nextcloud repository Prior to using the Nextcloud repository, an administrator must first create a Nextcloud service in the OAuth 2 configuration. Afterwards, the repository can be enabled. Configure Nextcloud for use with Moodle. Create a Nextcloud service. Go to 'Manage repositories' in Site administration and enable the Nextcloud repository. On the Nextcloud configuration page, click Create a repository instance. Enter a Name (that will be displayed to your users) and, as the Issuer, select the service that was created in step 2. If you want, you can also change the "Moodlefiles" folder name (*) to something that you prefer. (*) When users access an access controlled link, the corresponding document will be shared privately with them. That document will be placed in a folder by that name. You can choose a simple name that matches the name of your Moodle so that your users will understand where these files belong. Access controlled links Students may submit files from Nextcloud as 'access controlled links' in assignments. Once submitted, the student may no longer change them, but the teacher is allowed to edit them, for example to provide comments. Teachers may display files from Nextcloud as 'access controlled links'. The teacher can update the files, but students can only view them. Changes made by teachers will be reflected in the course. To enable this feature, ensure that: A system account has been connected in OAuth 2 services in Site administration. This account will own and control access to files submitted by students and teachers. Teachers will be able to edit the files but students will not. This must be a dedicated account for this purpose, i.e. it must not be an account that belongs to an individual. "Supported files" is set to "Internal and External". Optional: "Default return type" is set to "External (only links stored in Moodle)". Troubleshooting Please refer to Troubleshooting. Repository capabilities There is just one capability, View Nextcloud repository, which is allowed for the default authenticated user role. See also Cannot use properly Nextcloud integrations - installations with NGINX forum discussion Source: docs.moodle.org/503/en/Nextcloud repository — MoodleDocs (GPL) · Imported 2026-11-10. OneDrive repository 1 About the Microsoft OneDrive repository 2 Enabling the OneDrive repository 3 Access controlled links 4 Repository capabilities 5 See also About the Microsoft OneDrive repository The Microsoft OneDrive repository allows you to access your documents from Microsoft OneDrive within Moodle. As well as adding basic files, the OneDrive repository link allows you to access your OneDrive live directly from the configuration icon. The first time you access the OneDrive repository, you will be prompted to agree to connect. Once you have agreed, you can then log in, view and use your files. Enabling the OneDrive repository To use the OneDrive repository, an administrator must first create a Microsoft OAuth 2 service (a new requirement in Moodle 3.3 onwards). Go to 'OAuth 2 services' in Site administration - Server and click the button to create a new Microsoft service. Follow the instructions in OAuth 2 Microsoft service and obtain a client ID and secret. Enter the client ID and secret and save changes. Go to 'Manage repositories' in Site administration and enable the OneDrive repository. On the OneDrive configuration page, make sure that Microsoft is selected as the OAuth 2 service then save changes. Note: OneDrive requires that requests are delivered over SSL - this means that the OneDrive repository will not work if your site is not running over HTTPS. Access controlled links Students may submit files from OneDrive as 'access controlled links' in assignments. Once submitted, the student may no longer change them, but the teacher is allowed to edit them. Teachers may display files from OneDrive as 'access controlled links'. The teacher can then continue updating the files, but students can only view them. To enable this feature, ensure that: A system account has been connected in OAuth 2 services in Site administration. This account will own and control access to files submitted by students and teachers. Teachers will be able to edit the files but students will not. This should be a dedicated account for this purpose. "Supported files" is set to "Internal and External" . "Default return type" is set to "External (only links stored in Moodle)". Repository capabilities There is just one capability associated with this repository: View OneDrive repository. See also OAuth 2 authentication for enabling users to log in to Moodle with their Microsoft account Source: docs.moodle.org/503/en/OneDrive repository — MoodleDocs (GPL) · Imported 2026-11-10. Oohoo - Capture repository This repository allows users to record video, sound and take a photo WITHOUT a streaming server. This works as any other Moodle 2.x repository. It must first be enabled. Once enabled, it will show up in the file picker. Simply click on the "Capture" repository and choose if you want to record a sound, a video or have a picture taken from your webcam. Once you are done recording, you can edit your video by trimming the beginning and the end. Note: You must install FFMPEG on your Moodle server inorder for this plugin to work. Versions available Available for Moodle 2.3, 2.4, 2.5 and 2.6 Download From the Moodle plugins database Source: docs.moodle.org/503/en/Oohoo - Capture repository — MoodleDocs (GPL) · Imported 2026-11-10. Picasa Picasa portfolio is no longer available as it is no longer offered by Google. Source: docs.moodle.org/503/en/Picasa — MoodleDocs (GPL) · Imported 2026-11-10. Picasa portfolio Picasa portfolio is no longer available as it is no longer offered by Google. Source: docs.moodle.org/503/en/Picasa portfolio — MoodleDocs (GPL) · Imported 2026-11-10. Picasa web album The Picasa web album repository enables users to copy files from Picasa into Moodle, similar to the Google Drive repository. Enabling the Picasa web album repository Note: In order to use either the Picasa web album or Google Drive repositories (also the Google Drive or Picasa portfolios) an administrator must register their Moodle site with Google, as described in Google OAuth 2.0 setup, and obtain a client ID and secret. The client ID and secret can then be used to configure all Google Drive and Picasa plugins. Log in as an administrator and go to Administration > Site administration > Plugins > Repositories > Manage Repositories Activate the Picasa web album repository by selecting 'Enable and visible' in the dropdown menu Configure the Picasa web album repository by entering the client ID and secret Save changes Getting an image from the Picasa web album repository From the file picker, click on the Picasa web album link and a prompt to log in will appear. If it is your first time, the click the "Allow access" button to log in. Log into your Picasa account Allow access Browse your albums and select the photo you wish to use in Moodle. Repository capabilities There is just one capability, View picasa repository, which is allowed for the default authenticated user role. Source: docs.moodle.org/503/en/Picasa web album — MoodleDocs (GPL) · Imported 2026-11-10. Picasa web album repository The Picasa web album repository enables users to copy files from Picasa into Moodle, similar to the Google Drive repository. Enabling the Picasa web album repository Note: In order to use either the Picasa web album or Google Drive repositories (also the Google Drive or Picasa portfolios) an administrator must register their Moodle site with Google, as described in Google OAuth 2.0 setup, and obtain a client ID and secret. The client ID and secret can then be used to configure all Google Drive and Picasa plugins. Log in as an administrator and go to Administration > Site administration > Plugins > Repositories > Manage Repositories Activate the Picasa web album repository by selecting 'Enable and visible' in the dropdown menu Configure the Picasa web album repository by entering the client ID and secret Save changes Getting an image from the Picasa web album repository From the file picker, click on the Picasa web album link and a prompt to log in will appear. If it is your first time, the click the "Allow access" button to log in. Log into your Picasa account Allow access Browse your albums and select the photo you wish to use in Moodle. Repository capabilities There is just one capability, View picasa repository, which is allowed for the default authenticated user role. Source: docs.moodle.org/503/en/Picasa web album repository — MoodleDocs (GPL) · Imported 2026-11-10. Plagiarism Prevention Online text assignment submission with plagiarism prevention link Plagiarism is when a student submits content they have copied and the real author was not given credit for the words. Plagiarism prevention detects when this form of cheating or academic dishonesty has happened. Moodle doesn't come with any pre-installed plagiarism prevention methods - they need to be added by a site administrator. See Managing plagiarism prevention for details. See also Plagiarism prevention FAQ Source: docs.moodle.org/503/en/Plagiarism Prevention — MoodleDocs (GPL) · Imported 2026-11-10. Plagiarism Prevention Compilatio Compilatio is a commercial Plagiarism Prevention tool www.compilatio.net You must have a paid subscription to use their service. Compilatio Installation and Settings Using Compilatio See also Compilatio FAQ Source: docs.moodle.org/503/en/Plagiarism Prevention Compilatio — MoodleDocs (GPL) · Imported 2026-11-10. Plagiarism Prevention Compilatio Settings 1 Activation of your Compilatio Account 2 Installation of the plugin 2.1 Installation using Git 2.2 Installation using a Zip file 3 Global Configuration of Compilatio 4 Advanced Configuration Activation of your Compilatio Account obtain a Subscription from www.compilatio.net Installation of the plugin Installation using Git from the root of your install: git clone git://github.com/compilatio/moodle-plagiarism_compilatio.git plagiarism/compilatio cd plagiarism/compilatio git checkout MOODLE_23_STABLE then add plagiarism/compilatio to your .gitignore Visit the Admin > Notifications page in Moodle to trigger the upgrade scripts Installation using a Zip file Download the zip: https://github.com/compilatio/moodle-plagiarism_compilatio/zipball/master or the tar.gz: https://github.com/compilatio/moodle-plagiarism_compilatio/tarball/master Then Extract these files into a new folder under /plagiarism/compilatio and visit the Admin > Notifications page in Moodle to trigger the upgrade scripts Global Configuration of Compilatio Go to Admin > Advanced Features find the setting “Enable plagiarism plugins” - make sure the box is ticked. Go to Administration > Plugins > Plagiarism Prevention > Compilatio Tick the box "Use Compilatio" Make sure the integration address is the same as provided from Compilatio. Enter your Institute code. Set the Student Disclosure statement. - this is displayed to all students on the upload screen to notify them that the Compilatio system is in use. click on the tab "Compilatio Defaults" Configure the default settings to be used when creating/editing a new module. Advanced Configuration The ability to enable/disable Compilatio within a Moodle module such as an assignment is managed using a capability that is by default given to all managers and editing teachers on the site. If you want to force all assignments on your site to use Compilatio and prevent your teachers from changing these settings you can set the defaults above and then remove the capability “moodle/plagiarism_compilatio:enable” from your teacher roles. You can also use this capability to selectively allow certain teachers to use Compilatio by setting the default above “Enable Compilatio” to “No” - and giving the capabiltiy “moodle/plagiarism_compilatio:enable” only to the teachers you want to be able to use Compilatio Source: docs.moodle.org/503/en/Plagiarism Prevention Compilatio Settings — MoodleDocs (GPL) · Imported 2026-11-10. Plagiarism Prevention Crot 2.0 Crot is a fully open source Plagiarism Prevention tool - it is available here: http://moodle.org/mod/data/view.php?d=13&rid=4655&filter=1 Crot Installation and Settings See also Crot Plugin for older Moodle versions Source: docs.moodle.org/503/en/Plagiarism Prevention Crot 2.0 — MoodleDocs (GPL) · Imported 2026-11-10. Plagiarism Prevention Crot Settings 1 MS Application ID key 2 Installation of the plugin 2.1 Installation using a Zip file 3 Global Configuration of Crot 3.1 Other Settings 3.2 IMPLEMENTATION MS Application ID key You need to obtain the MS Application ID key from Microsoft to use the global search features. Open one of the following links to get the ID : http://msdn.microsoft.com/en-us/library/dd251020.aspx or http://www.bing.com/developers and follow the instructions to get the App ID. Installation of the plugin Installation using a Zip file Download the zip: http://moodle.org/mod/data/view.php?d=13&rid=4655&filter=1 Then Extract these files into a new folder under /plagiarism/crot and visit the Admin > Notifications page in Moodle to trigger the upgrade scripts Global Configuration of Crot Ensure Settings > Site admin > Server > Environment indicates you have curl and SOAP installed Go to Settings > Site admin > Advanced Features find the setting “Enable plagiarism plugins” - make sure the box is ticked Go to Settings > Site administration > Plugins > Plagiarism Prevention > Crot set the following: Tick the box "Use Crot" Select Test global search to run a quick test of global search. If it works you will see results of test search query on the next step. We would really appreciate if you check Registration option and complete simple registration form. We are doing this continious survey to apply for funding to support project development. Click Save Changes button Other Settings Student disclosure: This text will appear on the assignment submission page when student work will be uploaded to the system. Grammar size is size of text used to calculate one hash in document fingerprint. Recommended value is 30. Window size represents how granular tech search will be. Recommended value is 60. Colours are used for highlighting of similar text fragments in the side by side comparison of documents. But at the moment colouring function works only with the one colour (#FF0000). Max Distance between hashes in the text cluster: This parameter is used for allocation of hashes into text clusters in the colouring of similar text fragments. Recommended value is 100. Minimum cluster size is a minimum number of hashes in the text cluster used for colouring of similar text fragments. Recommended value is 2. Default Threshold: Assignments with similarity score less than threshold value are not displayed on Anti-Plagiarism - Assignments page. Global search threshold reserved for future development. Recommended value is 90. Global Search Query Size is the number of words in the query for global search. Recommended value is 7. Percentage of search queries for Web search is randomly selected percentage of queries from all search queries for Web search. Recommended value is 40. Number of web documents to be downloaded: How many web documents will be downloaded to your server from the list of possible sources on the web. Recommended value is 10. Culture info for global search: Culture information is used in queries for Bing search engine. Maximum file size: Files with the size more than this value are not downloaded from the internet. Recommended value is 1000000. IMPLEMENTATION 1. Login as a teacher to Moodle. 2. Go to the course, then to the assignment that you want to be processed by the antiplagiarism plugin. At the moment the plugin works with the following types of assignments: - Advanced uploading of files 3. Click Assignment administration/Edit settings link. 4. In the Crot block set up search parameters. 5. Save settings and wait for the cron scheduler to process the assignments. IMPORTANT: setting cron on Moodle is covered in Moodle doc: https://docs.moodle.org/20/en/Cron If you are not sure how cron works on your server please ask your system administrator about it. Processing may consume a lot of time: it depends on the server power and external channel bandwidth. Global search consumes more time as it requires querying the search engine and downloading similar files from the Internet. 6. Go to the assignment, click "View submitted assignments" link and you will see the maximum similarity score for submitted files. 7. Open the link with similarity score and compare documents. Source: docs.moodle.org/503/en/Plagiarism Prevention Crot Settings — MoodleDocs (GPL) · Imported 2026-11-10. Plagiarism Prevention Moss A plagiarism plugin for Moodle 2.x. The underlying anti-plagiarism engine is Moss [1] which can detect plagiarism in source code and plain text files. Supports C, C++, Java, C#, Python, Visual Basic, JavaScript, FORTRAN, ML, Haskell, Lisp, Scheme, Pascal, Modula2, Ada, Perl, TCL, Matlab, VHDL, Verilog, Spice, MIPS assembly, a8086 assembly, a8086 assembly, MIPS assembly and HCL2. Check it out at http://git.io/moss Source: docs.moodle.org/503/en/Plagiarism Prevention Moss — MoodleDocs (GPL) · Imported 2026-11-10. Plagiarism Prevention Ouriginal Ouriginal (previously called Urkund) is a commercial plagiarism prevention tool ouriginal.com It was developed in Sweden and is now used widely internationally. Ouriginal Installation and Settings Using Ouriginal See also Ouriginal documentation Source: docs.moodle.org/503/en/Plagiarism Prevention Ouriginal — MoodleDocs (GPL) · Imported 2026-11-10. Plagiarism Prevention Ouriginal Settings 1 Activation of your Ouriginal Account 2 Installation of the plugin 2.1 Installation using Git 2.2 Installation using a Zip file 2.3 Installation failed due to unprocessed data 3 Global Configuration of Ouriginal 4 Advanced Configuration Activation of your Ouriginal Account obtain an Ouriginal Subscription from ouriginal.com Installation of the plugin Installation using Git from the root of your install: git clone git://github.com/danmarsden/moodle-plagiarism_urkund.git plagiarism/urkund then add plagairism/urkund to your .gitignore Visit the Admin > Notifications page in Moodle to trigger the upgrade scripts Installation using a Zip file Download the zip: https://github.com/danmarsden/moodle-plagiarism_urkund/zipball/master or the tar.gz: https://github.com/danmarsden/moodle-plagiarism_urkund/tarball/master Then Extract these files into a new folder under /plagiarism/urkund and visit the Admin > Notifications page in Moodle to trigger the upgrade scripts Installation failed due to unprocessed data This error may occur when you try to upgrade to a version of the Ouriginal plugin that uses the new Moodle events API - it occurs when your installation contains unprocessed events related to the old API. If we ignored these events and upgraded then it is possible that some previously submitted files will not be sent to Ouriginal for processing. This is most likely to have occurred if a user has submitted an assignment since the last time your scheduled task process was run. There was also a recent issue related to group-based assignments that could cause a backlog of events - you may want to apply this fix to your old version of the code to address this. Alternatively use this link to download an complete version of the Ouriginal plugin that includes the fix related to the backlog of events. You can see a list of the queued events in your database by running the following sql query(eventdata is base64 encoded and serialized): SELECT qh.id, qh.status, qh.timemodified, eq.eventdata, eq.stackdump, eq.userid, eh.eventname, eh.component, eh.handlerfile, eh.handlerfunction FROM mdl_events_queue_handlers qh JOIN mdl_events_queue eq ON eq.id = qh.queuedeventid JOIN mdl_events_handlers eh ON eh.id = qh.handlerid WHERE (eh.eventname = 'assessable_file_uploaded' or eh.eventname = 'assessable_content_uploaded' or eh.eventname = 'assessable_submitted') To clear these events normally, you should revert the Ouriginal code to using an earlier version, place the site into maintenance mode (to prevent any other submissions from occurring) run the cron process (sometimes multiple calls are required) until the above sql returns no results. If you have an event in the list with a high "qh.status" value it is possible that this event is causing the queue to block. You could relatively safely try deleting any records with a qh.status higher than 5 and then run cron multiple times until the queue is cleared, and then try to upgrade to the new version of the Ouriginal plugin. If you are not concerned about these events and it does not matter if these submissions do not get posted to Ouriginal for processing you can run the following SQL command to clear the queue and allow the upgrade to continue. DELETE FROM mdl_events_queue_handlers WHERE handlerid IN (SELECT id FROM mdl_events_handlers WHERE component = 'plagiarism_urkund') Global Configuration of Ouriginal Go to Admin > Advanced Features find the setting “Enable plagiarism plugins” - make sure the box is ticked. Go to Admin > Plugins > Plagiarism Prevention > Ouriginal Tick the box "Use Ouriginal" Enter your Ouriginal UIS username Enter your Ouriginal UIS password Set the Student Disclosure statement. - this is displayed to all students on the upload screen to notify them that the URKUND system is in use. in the page Admin > Modules > Activities > Ouriginal click on the tab "Ouriginal Defaults" Configure the default settings to be used inside a Moodle module when creating/editing a new module. Advanced Configuration The ability to enable/disable Ouriginal within a Moodle module such as an assignment is managed using a capability that is by default given to all managers and editing teachers on the site. If you want to force all assignments on your site to use Ouriginal and prevent your teachers from changing these settings you can set the defaults above and then remove the capability “moodle/plagiarism_urkund:enable” from your teacher roles. You can also use this capability to selectively allow certain teachers to use Ouriginal by setting the default above “Enable Ouriginal” to “No” - and giving the capabiltiy “moodle/plagiarism_urkund:enable” only to the teachers you want to be able to use Ouriginal Source: docs.moodle.org/503/en/Plagiarism Prevention Ouriginal Settings — MoodleDocs (GPL) · Imported 2026-11-10. Plagiarism Prevention Turnitin This page requires a review. Please do so and remove this template when finished. Turnitin is a commercial plagiarism detection system which requires a paid subscription to use - there are currently 3 different options available to use Turnitin in Moodle 2.0. 1 Plagiarism Plugin 2 Moodle Direct Plugin 3 Moodle Basic Plugin 4 See also Plagiarism Plugin A Plagiarism Prevention plugin written by Dan Marsden from Catalyst IT which allows existing Modules to "call" the plagiarism service. It has been added to the upload and uploadsingle assignment types, but eventually support will be added to other Moodle modules. This is a generic plugin system and other Plagiarism products are also available preventing an institution from being "locked in" to a Plagiarism Tool vendor. NOTE: this plugin will be deprecated by a new plugin currently under development - see future-of-moodle-turnitin-plugins Turnitin Installation and Settings Moodle Direct Plugin The Moodle Direct Integration was developed by nlearning Ltd (now iParadigms Europe Ltd) - This is a standalone Moodle module that is similar to the advanced assignment type, however it adds a range of Turnitin specific functionality. The current version is available from [Modules and Plugins]. The key aim of the development is to represent all features of Turnitin within the Moodle workflow as and when they become exposed through the Turnitin API. The Direct Plugin works on the principle of mapping a Turnitin Assignment in Moodle with an assignment in Turnitin, once mapped all submissions made on either side are synchronised reflecting any changes on both platforms. It is therefore possible to access the assignments created using the plugin by logging in to either system. There is the option to disable emails sent out to students which means login details and welcome emails are not sent which encourages students to submit only through Moodle. GradeMark grades are represented in the Moodle gradebook and originality scores are displayed in the Moodle Turnitin Assignment Inbox. For more detail see: http://moodle.org/mod/forum/discuss.php?d=149575 Moodle Basic Plugin This is an assignment type plugin (support for this may be dropped in 2.3 as the assignment module is planned for a rewrite) it just provides Single Sign on to the turnitin.com website keeping moodle in a frame at the top. See also Turnitin Plugins for older Moodle versions Turnitin Error states Source: docs.moodle.org/503/en/Plagiarism Prevention Turnitin — MoodleDocs (GPL) · Imported 2026-11-10. Plagiarism Prevention Turnitin Settings Turnitin administration 1 Activation of your Turnitin Account 2 Installation of the plugin 2.1 Installation using Git 2.2 Installation using a Zip file 3 Global Configuration of Turnitin 4 Configuration of Turnitin inside Moodle Activity Modules 4.1 Assignment Module 5 Advanced Configuration 6 Debugging Activation of your Turnitin Account obtain a Turnitin Subscription from www.turnitin.com Email your Turnitin Account rep or the Turnitin helpdesk (turnitinsupport@turnitin.com) and paste this text into the e-mail: Please manually enable our Turnitin account to allow the use of the Turnitin Plagiarism plugin for Moodle 2.0 written by Dan Marsden from Catalyst IT. We are aware of the Turnitin Basic, Turnitin Direct plugins and the new plugin planned to replace Dan Marsdens plugin but wish to use the older plug-in provided from Dan Marsden/Catalyst IT until the new one is available. Login to Turnitin.com with your admin account and click the link to Integrations. Select the option "Dan Marsden Moodle" set a shared key/password to use (make up something and remember it for later) - this page also asks for contact information 0 just enter your own name/e-mail address Installation of the plugin Installation using Git from the root of your install: git clone git://github.com/danmarsden/moodle-plagiarism_turnitin.git plagiarism/turnitin then add plagairism/turnitin to your .gitignore Visit the Admin > Notifications page in Moodle to trigger the upgrade scripts Installation using a Zip file Download the zip: https://github.com/danmarsden/moodle-plagiarism_turnitin/zipball/master or the tar.gz: https://github.com/danmarsden/moodle-plagiarism_turnitin/tarball/master Then Extract these files into a new folder under /plagiarism/turnitin and visit the Admin > Notifications page in Moodle to trigger the upgrade scripts Global Configuration of Turnitin Ensure Admin > Server > Environment indicates you have curl installed Go to Admin > Advanced Features find the setting “Enable plagiarism plugins” - make sure the box is ticked. In the page Settings > Site administration > Plugins > Plagiarism Prevention > Turnitin set the following: Tick the box "Use Turnitin Submission" Enter your Turnitin Account ID Enter your Turnitin Secret Key as entered into your Turnitin admin screen Elect whether to send students an e-mail to allow them to login to the turnitin.com site to view their submissions (this isn't necessary, and will likely cause your students more confusion, as all the information available in the website is available from your moodle site.) - even if no e-mail is sent, students can visit turnitin.com and use the forgotten password functionality on the turnitin site to get their password sent via e-mail. Admins can disable this by adding a prefix to all email accounts created - see below for details. Set the Student Disclosure statement. - this is displayed to all students on the upload screen to notify them that the Turnitin system is in use. Configuration of Turnitin inside Moodle Activity Modules Assignment Module (currently only available with the advanced file upload and single upload types) Create a new Assignment within your course. Enable Turnitin Submission Advanced Configuration The ability to enable/disable Turnitin within a Moodle module such as an assignment is managed using a capability that is by default given to all managers and editing teachers on the site. If you want to force all assignments on your site to use Turnitin and prevent your teachers from changing these settings you can set the defaults above and then remove the capability “moodle/plagiarism_turnitin:enable” from your teacher roles. You can also use this capability to selectively allow certain teachers to use Turnitin by setting the default above “Enable Turnitin” to “No” - and giving the capabiltiy “moodle/plagiarism_urkund:enable” only to the teachers you want to be able to use Turnitin Debugging when testing the turnitin integration you should make sure debugging is turned on, as it will provide information regarding the process. error codes received from the turnitin API are also logged in the mdl_plagiarism_turnitin_files table, so you can view issues with a production system. each file that is going to be submitted to turnitin is added to the table mdl_plagiarism_turnitin_files - the field tiicode gives the "status" of the file, - there are 3 "good" states for this field: "pending" - this is a new file that has been uploaded to an activity module, and needs to be submitted to Turnitin (will happen next time cron runs) "51" - this is the turnitin API code for Successful upload - this means the file has been uploaded to Turnitin and we are waiting on an originality score, "success" - this is a file that has been submitted, and a score has been provided for it. Any other response code in this field indicates an error state, see the Turnitin errors page for a complete list of codes. I n s e r t f o r m u l a h e r e {\displaystyle Insertformulahere} Source: docs.moodle.org/503/en/Plagiarism Prevention Turnitin Settings — MoodleDocs (GPL) · Imported 2026-11-10. Plagiarism Prevention URKUND Ouriginal (previously called Urkund) is a commercial plagiarism prevention tool ouriginal.com It was developed in Sweden and is now used widely internationally. Ouriginal Installation and Settings Using Ouriginal See also Ouriginal documentation Source: docs.moodle.org/503/en/Plagiarism Prevention URKUND — MoodleDocs (GPL) · Imported 2026-11-10. Plagiarism Prevention URKUND Settings 1 Activation of your Ouriginal Account 2 Installation of the plugin 2.1 Installation using Git 2.2 Installation using a Zip file 2.3 Installation failed due to unprocessed data 3 Global Configuration of Ouriginal 4 Advanced Configuration Activation of your Ouriginal Account obtain an Ouriginal Subscription from ouriginal.com Installation of the plugin Installation using Git from the root of your install: git clone git://github.com/danmarsden/moodle-plagiarism_urkund.git plagiarism/urkund then add plagairism/urkund to your .gitignore Visit the Admin > Notifications page in Moodle to trigger the upgrade scripts Installation using a Zip file Download the zip: https://github.com/danmarsden/moodle-plagiarism_urkund/zipball/master or the tar.gz: https://github.com/danmarsden/moodle-plagiarism_urkund/tarball/master Then Extract these files into a new folder under /plagiarism/urkund and visit the Admin > Notifications page in Moodle to trigger the upgrade scripts Installation failed due to unprocessed data This error may occur when you try to upgrade to a version of the Ouriginal plugin that uses the new Moodle events API - it occurs when your installation contains unprocessed events related to the old API. If we ignored these events and upgraded then it is possible that some previously submitted files will not be sent to Ouriginal for processing. This is most likely to have occurred if a user has submitted an assignment since the last time your scheduled task process was run. There was also a recent issue related to group-based assignments that could cause a backlog of events - you may want to apply this fix to your old version of the code to address this. Alternatively use this link to download an complete version of the Ouriginal plugin that includes the fix related to the backlog of events. You can see a list of the queued events in your database by running the following sql query(eventdata is base64 encoded and serialized): SELECT qh.id, qh.status, qh.timemodified, eq.eventdata, eq.stackdump, eq.userid, eh.eventname, eh.component, eh.handlerfile, eh.handlerfunction FROM mdl_events_queue_handlers qh JOIN mdl_events_queue eq ON eq.id = qh.queuedeventid JOIN mdl_events_handlers eh ON eh.id = qh.handlerid WHERE (eh.eventname = 'assessable_file_uploaded' or eh.eventname = 'assessable_content_uploaded' or eh.eventname = 'assessable_submitted') To clear these events normally, you should revert the Ouriginal code to using an earlier version, place the site into maintenance mode (to prevent any other submissions from occurring) run the cron process (sometimes multiple calls are required) until the above sql returns no results. If you have an event in the list with a high "qh.status" value it is possible that this event is causing the queue to block. You could relatively safely try deleting any records with a qh.status higher than 5 and then run cron multiple times until the queue is cleared, and then try to upgrade to the new version of the Ouriginal plugin. If you are not concerned about these events and it does not matter if these submissions do not get posted to Ouriginal for processing you can run the following SQL command to clear the queue and allow the upgrade to continue. DELETE FROM mdl_events_queue_handlers WHERE handlerid IN (SELECT id FROM mdl_events_handlers WHERE component = 'plagiarism_urkund') Global Configuration of Ouriginal Go to Admin > Advanced Features find the setting “Enable plagiarism plugins” - make sure the box is ticked. Go to Admin > Plugins > Plagiarism Prevention > Ouriginal Tick the box "Use Ouriginal" Enter your Ouriginal UIS username Enter your Ouriginal UIS password Set the Student Disclosure statement. - this is displayed to all students on the upload screen to notify them that the URKUND system is in use. in the page Admin > Modules > Activities > Ouriginal click on the tab "Ouriginal Defaults" Configure the default settings to be used inside a Moodle module when creating/editing a new module. Advanced Configuration The ability to enable/disable Ouriginal within a Moodle module such as an assignment is managed using a capability that is by default given to all managers and editing teachers on the site. If you want to force all assignments on your site to use Ouriginal and prevent your teachers from changing these settings you can set the defaults above and then remove the capability “moodle/plagiarism_urkund:enable” from your teacher roles. You can also use this capability to selectively allow certain teachers to use Ouriginal by setting the default above “Enable Ouriginal” to “No” - and giving the capabiltiy “moodle/plagiarism_urkund:enable” only to the teachers you want to be able to use Ouriginal Source: docs.moodle.org/503/en/Plagiarism Prevention URKUND Settings — MoodleDocs (GPL) · Imported 2026-11-10. Plagiarism Prevention Using Compilatio The Compilatio Plagiarism Plugin for Moodle 2 currently supports the old Assignment module in Moodle 2.0/2.1/2.2 and the new assignment module in Moodle 2.3 Creating a Moodle Activity Turn editing on inside your course: https://docs.moodle.org/en/Turn_editing_on in the drop lists provided select the activity module you wish to add(in Moodle 2.3 Compilatio only currently works with the assignment types) Configure Compilatio settings for this activity Viewing the Compilatio generated reports After a student has uploaded a file to Moodle, the file is passed to Compilatio behind the scenes and it can take some time before a report is available. click on the link to view submitted assignments on the submissions page all the students are listed – beside each file is the response from Compilatio Source: docs.moodle.org/503/en/Plagiarism Prevention Using Compilatio — MoodleDocs (GPL) · Imported 2026-11-10. Plagiarism Prevention Using Ouriginal The Ouriginal Plagiarism Plugin currently supports the assignment, forum and quiz activities. Creating a Moodle Assignment Turn editing on inside your course: https://docs.moodle.org/en/Turn_editing_on in the drop lists provided select either the “upload a single file” or “Advanced uploading of files” assignment types. For more information on the generic settings of this page please see: https://docs.moodle.org/en/Assignment_settings Configure Ouriginal settings for this assignment using the receiver address provided by Ouriginal and setting other options as required and save the assignment. Viewing the Ouriginal generated reports After a student has uploaded a file to Moodle, the file is passed to Ouriginal behind the scenes and it can take some time before a report is available. click on the link to view submitted assignments on the submissions page all the students are listed – beside each file is the response from Ouriginal Source: docs.moodle.org/503/en/Plagiarism Prevention Using Ouriginal — MoodleDocs (GPL) · Imported 2026-11-10. Plagiarism Prevention Using URKUND The Ouriginal Plagiarism Plugin currently supports the assignment, forum and quiz activities. Creating a Moodle Assignment Turn editing on inside your course: https://docs.moodle.org/en/Turn_editing_on in the drop lists provided select either the “upload a single file” or “Advanced uploading of files” assignment types. For more information on the generic settings of this page please see: https://docs.moodle.org/en/Assignment_settings Configure Ouriginal settings for this assignment using the receiver address provided by Ouriginal and setting other options as required and save the assignment. Viewing the Ouriginal generated reports After a student has uploaded a file to Moodle, the file is passed to Ouriginal behind the scenes and it can take some time before a report is available. click on the link to view submitted assignments on the submissions page all the students are listed – beside each file is the response from Ouriginal Source: docs.moodle.org/503/en/Plagiarism Prevention Using URKUND — MoodleDocs (GPL) · Imported 2026-11-10. Plagiarism prevention Online text assignment submission with plagiarism prevention link Plagiarism is when a student submits content they have copied and the real author was not given credit for the words. Plagiarism prevention detects when this form of cheating or academic dishonesty has happened. Moodle doesn't come with any pre-installed plagiarism prevention methods - they need to be added by a site administrator. See Managing plagiarism prevention for details. See also Plagiarism prevention FAQ Source: docs.moodle.org/503/en/Plagiarism prevention — MoodleDocs (GPL) · Imported 2026-11-10. Plagiarism prevention FAQ What is plagiarism? Plagiarism is the practice of taking someone else's work or ideas and passing them off as your own. These days the internet is a frequent source of plagiarism by students. How can I stop my students sending me work they have copied from the internet? Education is by far the best long term prevention method! In the meantime, Moodle has some plugins which may be added to your site which will detect when students have copied work from online sources. See Managing plagiarism prevention for some suggestions. Source: docs.moodle.org/503/en/Plagiarism prevention FAQ — MoodleDocs (GPL) · Imported 2026-11-10. Podcast Podcasting is an easy way to deliver a series of audio files in such a way that people can subscribe and have all current and future 'episodes' downloaded automatically to their computer or media player. Podcasting in Moodle To podcast in Moodle, create a discussion forum and activate an RSS feed for the forum. Then simply post messages with media files as attachments. These will be delivered as podcasts in the RSS feed. Note: This works in some situations and not in others. For example, users that do not have full permissions to access the forum may find that their podcast software does not have rights to the media files. Software for receiving podcasts Apple's iTunes is currently one of the more popular pieces of software for subscribing to podcasts Juice (previously known as iPodder) which is open-source and available on Windows and Macintosh. Rhythmbox for the Gnome Desktop Amarok for KDE Antennapod See also Wikipedia article on podcasting Apple webpage on podcasting Audio in Moodle Source: docs.moodle.org/503/en/Podcast — MoodleDocs (GPL) · Imported 2026-11-10. Podcasting Podcasting is an easy way to deliver a series of audio files in such a way that people can subscribe and have all current and future 'episodes' downloaded automatically to their computer or media player. Podcasting in Moodle To podcast in Moodle, create a discussion forum and activate an RSS feed for the forum. Then simply post messages with media files as attachments. These will be delivered as podcasts in the RSS feed. Note: This works in some situations and not in others. For example, users that do not have full permissions to access the forum may find that their podcast software does not have rights to the media files. Software for receiving podcasts Apple's iTunes is currently one of the more popular pieces of software for subscribing to podcasts Juice (previously known as iPodder) which is open-source and available on Windows and Macintosh. Rhythmbox for the Gnome Desktop Amarok for KDE Antennapod See also Wikipedia article on podcasting Apple webpage on podcasting Audio in Moodle Source: docs.moodle.org/503/en/Podcasting — MoodleDocs (GPL) · Imported 2026-11-10. PoodLL filter Poodll is a toolbox of features for Moodle, including audio and video recording, media players for the classroom and widgets such as tabs and stopwatches. The Poodll filter is a pre-requisite plugin for the Classic Poodll plugins, including Poodll Assignment Submission, Poodll Assignment Feedback, Poodll Recording Question type, Poodll Anywhere for Atto and TinyMCE. The newer Cloud Poodll plugins do not require the Poodll filter. NB Poodll requires an annual subscription fee, though a free 30 day trial is available. Please watch the Poodll Filter video for an overview. 1 Getting Started 2 Enabling the PoodLL Filter 3 About Poodll 4 Useful Links Getting Started The Poodll filter requires a Poodll API username and secret. These are available with a free trial or paid subscription to Poodll. To get your API username and secret: Visit the Poodll Essentials page at poodll.com Take a "30 day Free Trial" Register your Moodle site URL on your member page Pick up your Poodll API user and secret Then you can install the Poodll filter as usual from the Moodle plugins directory. After installation you will be asked for your API user and secret. The Poodll filter is quite large and can timeout during installation. It is best to set your PHP Max Execution time to 300 or greater. See the Getting Started Guide for more information on installing and using the Poodll filter and Classic Poodll. Enabling the PoodLL Filter To enable the PoodLL filter, from the Site Administration menu, choose Plugins->Filters->Manage Filters. In the list of filters you will see the PoodLL filter. Set it to “on.” The PoodLL filter can handle many types of media files (mp3/mp4/webm/ogg etc. The default Multimedia Plugins filter can also do this. To minimize the chance of any conflict you should move the Poodll filter higher in the list than the Multimedia plugins filter. Or select/deselect file types from the Poodll filter file extensions settings page. About Poodll Poodll has been making plugins for Moodle since 2011. Our software has helped teachers build and deliver language courses in thousands of Moodle websites worldwide. Search for "Poodll" in the Moodle plugins directory to see a list containing more than 25 of our plugins. Poodll is based in Nagasaki, Japan. Useful Links Poodll Essentials Free Trial Poodll Filter on Moodle.org Poodll Filter on Github (Branch Poodll3) Slideshow on how to install the Poodll filter Classic Poodll Support Documentation Source: docs.moodle.org/503/en/PoodLL filter — MoodleDocs (GPL) · Imported 2026-11-10. Portfolio Portfolios in Moodle make it easy for a student to export their work to an external portfolio. For example, student work might include forum posts or assignment submissions that they believe demonstrates their knowledge. Portfolios are disabled by default in Moodle and must be enabled by a site administrator. See Managing portfolios for details. File download Flickr.com Google Drive Mahara ePortfolio Portfolios FAQ 1 Exporting to portfolio 2 Items which may be exported to portfolio 3 Export formats 4 Managing your own portfolios 5 See also Exporting to portfolio When portfolios are enabled, forum posts and other exportable data (see below) have an export to portfolio icon or link beside them. To export an assignment submission to a portfolio Click the 'Export to portfolio' link Select the portfolio you wish to export to e.g. Google Docs or file download (this step will be skipped if there's only one) If prompted, select an export format e.g. HTML If file download was selected in step 2, you can then save the file, otherwise you will be given the option to return to the page you were previously viewing or visit your portfolio (certain portfolios only) Items which may be exported to portfolio Assignment submissions - single and multiple file uploads Chat sessions Database activity module entries (##export## tag may be added to list and single templates) Database activities Forum posts Glossary entries Export formats Possible export formats include HTML LEAP2A, a specification for e-portfolio portability Images Text File Managing your own portfolios While the administrator determines which portfolios are enabled on the site in Managing portfolios, an individual user can choose which portfolios to display or hide from the preferences page of the user menu top right, in the section "Portfolios." See also Exabis e-portfolio block Portfolio module Portfolio Plugin for Evernote e-Portfolio overview at Wikipedia Source: docs.moodle.org/503/en/Portfolio — MoodleDocs (GPL) · Imported 2026-11-10. Portfolio Plugin for Evernote 1 Introduction 2 Installation Steps 3 Moodle Versions Supported 4 Items which may be exported to portfolio 5 Sending the Data to your Evernote Accounts Introduction Evernote is used by a large number of people to store their daily files and activities. Especially, in the field of education, many educators and students use Evernote to share their notes with others. With this plugin, the users are able to sync their Moodle and Evernote activities in a better way. This plugin enables the users to export the desired Moodle content to their Evernote accounts in a clean and simple way. Installation Steps If you don't have an Evernote API key beforehand, go through the following steps: Go to Evernote Developer's page. Click on 'Get an API Key button' In the API Permissions block, click on 'Full Access'. Then fill up the other details and submit the form. Register your API key as a public key from Evernote. Now having the Evernote key, you need to request Evernote for activating the key. This will ensure that the key works on the Evernote production servers (The key which is not activated, runs only for Evernote Sandbox Accounts). If you don't have an activated key yet, follow the following steps: Go to Evernote Support. Click on the button 'Activate an API Key Fill in the correct details and submit the form. Please note that it might take a few days for Evernote to activate the API Key. Download the Evernote Portfolio plugin from Github. Extract the zip file in your Moodle directory (Moodle_folder)/portfolio. Rename the folder of the plugin to 'evernote'. Log in to Moodle as administrator and install the Evernote Portfolio. Ensure that Portfolios are enabled on the site on Site Administration->Advanced Features. Enable the Evernote plugin from Site Administration->Plugins->Portfolios->Manage Portfolios In the form that appears, select 'No' for Using Testing Server if the Evernote Key has been activated. Else, select 'Yes'. Note that while using testing server, you'll be using the Evernote Key for the Evernote Sandbox Accounts. This is a testing platform provided by Evernote to test out the plugin before use. You'll need to have a separate Sandbox account to test the plugin on your account. The Sandbox account is independent of the main Evernote account. Enter the API Key and the Secret Key you registered at Evernote and click on Save. You have now activated the plugin for Evernote. Moodle Versions Supported Currently the plugin supports Moodle versions from 2.3 and upwards. Items which may be exported to portfolio Export of all the items which are supported by default in Moodle Portfolio are supported. They are listed below: Assignment submissions - single and multiple file uploads Chat sessions Database activity module entries Database activities Forum posts Glossary entries Sending the Data to your Evernote Accounts Click on Export to Portfolio link on any forum post/chat sessions/database entries and activities/assignment/glossary entries you want to send to your Evernote Account. Select 'Evernote' and click 'Next'. Fill out the necessary details and click 'Next'. Here you get the summary of the details you had entered in the previous form. Click 'Next' to finalize the export. Source: docs.moodle.org/503/en/Portfolio Plugin for Evernote — MoodleDocs (GPL) · Imported 2026-11-10. Portfolios Portfolios in Moodle make it easy for a student to export their work to an external portfolio. For example, student work might include forum posts or assignment submissions that they believe demonstrates their knowledge. Portfolios are disabled by default in Moodle and must be enabled by a site administrator. See Managing portfolios for details. File download Flickr.com Google Drive Mahara ePortfolio Portfolios FAQ 1 Exporting to portfolio 2 Items which may be exported to portfolio 3 Export formats 4 Managing your own portfolios 5 See also Exporting to portfolio When portfolios are enabled, forum posts and other exportable data (see below) have an export to portfolio icon or link beside them. To export an assignment submission to a portfolio Click the 'Export to portfolio' link Select the portfolio you wish to export to e.g. Google Docs or file download (this step will be skipped if there's only one) If prompted, select an export format e.g. HTML If file download was selected in step 2, you can then save the file, otherwise you will be given the option to return to the page you were previously viewing or visit your portfolio (certain portfolios only) Items which may be exported to portfolio Assignment submissions - single and multiple file uploads Chat sessions Database activity module entries (##export## tag may be added to list and single templates) Database activities Forum posts Glossary entries Export formats Possible export formats include HTML LEAP2A, a specification for e-portfolio portability Images Text File Managing your own portfolios While the administrator determines which portfolios are enabled on the site in Managing portfolios, an individual user can choose which portfolios to display or hide from the preferences page of the user menu top right, in the section "Portfolios." See also Exabis e-portfolio block Portfolio module Portfolio Plugin for Evernote e-Portfolio overview at Wikipedia Source: docs.moodle.org/503/en/Portfolios — MoodleDocs (GPL) · Imported 2026-11-10. Portfolios FAQ What is LEAP2A? LEAP2A is a specification for e-portfolio portability. It is recommended that LEAP2A is selected as export format when exporting data to Mahara. LEAP2A is offered as a possible export format option when the portfolio plugin and the export location both support the format. Source: docs.moodle.org/503/en/Portfolios FAQ — MoodleDocs (GPL) · Imported 2026-11-10. Private files 1 The private files area 2 Private files management 2.1 Bulk delete private files 3 Emailing private files as an attachment 4 Making an alias/shortcut to a file in the private files area 5 Private files size limit 6 Checking space used by Private files 7 Preventing access to Private files 8 Private files capabilities The private files area Each user has a private files area for uploading and managing a set of files. If enabled by the administrator, users can also email files to their private files area. Load video YouTube YouTube might collect personal data. Privacy Policy Private files The private files area can be accessed from User menu top right or, if added, from the My private files block. If the private files repository is enabled by a site admin, it is available as a source within the filepicker when selecting files to use in a course. Private files management To add a file to your private files area Click Private files from your User menu. The file manager will appear. If desired, create a folder for your file(s) Click on the Add button to upload from the File picker or drag and drop from your desktop. It will look like the files are already there, but they aren't until you do the next step! Click the 'Save changes' button Once uploaded, files will appear as thumbnails. Clicking the icons top right will display them in table or list view as an alternative. Bulk delete private files When in list view, it is possible to select and bulk delete private files, rather than removing them individually. Bulk delete private files Emailing private files as an attachment This requires the administrator to have enabled incoming mail processing in Site administration>Server>Incoming mail configuration>Mail settings and Email to private files in Site administration>Server>Incoming mail configuration>Message handlers. When these settings are enabled, users will see an email address in their private files screen: This is the email address to which the email including the attached file should be sent. It will appear after cron in the user's private files after cron has run. For a demonstration of emailing to private files, watch the Usability screencast from Moodle HQ, starting at 1m8s. Making an alias/shortcut to a file in the private files area If a file is uploaded into your private files area, it is possible when using it elsewhere on Moodle to select it as an alias/shortcut. This means that if you update the file in your private files area, it will automatically update elsewhere on Moodle. See Working with files for more information. Private files size limit The size limit for each user's private files area is set by a site administrator in 'Private files space' (userquota) in Site administration > Security > Site security settings. Checking space used by Private files Non-admin users such as students and teachers see a message informing them how much space they have used when they upload a file to their Private files See the discussion: How do you check space used by Private files? to see how, as an admin you can see private files usage on your site. Preventing access to Private files If you don't wish to use private files on your site, you can prevent access as follows: Log in as an admin and go to Site administration > Plugins > Repositories > Manage repositories and disable the Private files repository. Go to Site administration > Users > Permissions > Define Roles and edit the authenticated user role. Unset the capabilities moodle/user:manageownfiles and repository/user:view and save changes. If you want teachers to be able to access private files but not students, then in addition to the above steps Go to Site administration > Users > Permissions > Define Roles and create a new role to be assigned in the system context. Allow the capabilities moodle/user:manageownfiles and repository/user:view and save changes. Assign teachers this new role as a system role. Private files capabilities Manage files in own private file area View user private files Source: docs.moodle.org/503/en/Private files — MoodleDocs (GPL) · Imported 2026-11-10. Programming Code Plagiarism Plugin 1 Introduction 2 Registration for JPlag and MOSS account 3 Adding code to server 4 Server configuration 5 Plugin installation 6 Plugin configuration 7 Assignment configuration 8 Manual scanning 9 Viewing the report 10 Comparison between two students' work Introduction This plugin integrates two well-known source code plagiarism detectors MOSS and JPlag into Moodle to compare the similarities of programming assignments of students within the same course. By integrating these detectors seamlessly into Moodle, it eliminates the overhead of manually preparing the assignments to feed into these detectors, present the reports with an interactive interface and, more importantly, serve as an educational tool to provide feedback to students and raise their awareness of plagiarism. Please note: - It only scans for similarities between students in the same course (as MOSS and JPlag do) - It is for academic use only (see the term and condition of MOSS and JPlag) Registration for JPlag and MOSS account This plugin relies on JPlag and MOSS engine in the background to carry out the scanning for similarity. Create a JPlag account: There is no support for the server version of JPlag anymore - if you have an account, you can use it. Otherwise you will have to download JPlag from GitHub (https://github.com/jplag/jplag/releases) and run it locally. Create MOSS account: email to moss@moss.stanford.edu a message containing 2 lines registeruser mail username@domain in which username@domain is your email address. You will receive reply containing a perl script to use MOSS. Visit http://theory.stanford.edu/~aiken/moss/ for more information. Adding code to server Extract the zip file containing the code of the plugin and put it to the directory /plagiarism/. Leave the directory name, which is "programming", intact. A correct directory structure should look like the following: ... plagiarism programming coursesetting db jplag lang ... Server configuration The plugin should run on any platform that Moodle runs, and the installation process should happen smoothly. Please ensure the followings (which are all the conditions of a proper Moodle installation): + Make sure that the process on which Apache run have sufficient right to read all the files in the new directory (which is /plagiarism/programming/*). + Make sure the cron service is configured properly to call the script /admin/cron.php periodically. A guide to install the cron service could be found on Moodle website https://docs.moodle.org/20/en/Cron_with_UNIX. This cron service is necessary for scheduling the submission of all students' code to JPlag and MOSS service. Plugin installation Installation is similar to any other standard Moodle plugin. Login to Moodle as an administrator and visit the notification page (go to Site Administration → Notification or visit the url http:///admin/index.php), the plugin installation page of Moodle will appear with the programming plagiarism plugin in the list. Click upgrade button to install the plugin to Moodle. The installation should be successful. Plugin configuration First, plagiarism plugins should be enabled on your Moodle (see Managing plagiarism prevention) Go to Site Administrator → Plugin → Plagiarism Prevention → Programming Assignment to configure the plugin for the whole Moodle installation. The following options are provided: Use source code plagiarism detection checkbox: enable or disable the plugin for all the assignments Enable this plugin for the whole Moodle: every assignment created will see the configuration block for code similarity matching. Enable this plugin at the course level: just assignments of the specified courses will see the configuration block for code similarity matching. Once this option is selected, a dialog box will appear allowing users to select which course to enable. JPlag Username: user name of the JPlag account (registered at the beginning) JPlag Password: password of the JPlag account MOSS Userid: the userid emailed to you when registered for MOSS. If you find it difficult to locate the userid in that email. Just copy the entire email to the textbox below (you need either find the user id or copy the email. You don't need to do both) File:plugin config.png Assignment configuration Once the plugin is enabled for the whole Moodle or for the course (see the previous section), users will see the following block when creating or editing an assignment, near the bottom of the assignment configuration page: This block offers the following parameters: Code similarity checking: enable the plugin for the current assignment if checked. Programming language: select the programming language for this assignment. Currently, just one programming language is supported for each assignment. Submit date: the date when all the submission is scanned for similarity. Multiple dates could be specified. To allow "draft submission", you can select some dates before the due date so that students can see the report and modify their assignments before it due. If multiple scannings are performed, you can see the entire history in the report. Alternatively, you can manually trigger the scanning at anytime you want (see Manual scanning section) Detection tools: select which detection tool to use. At least one tool must be selected. Publish similarity report: if checked, students could see the similarity report comparing their work with others (see part d below). Display notification: if checked, students are notified that this assignment will be checked for plagiarism in the assignment page. Notification text: this box is enabled when display notification is checked, and enables specification of the message to students If "Publish similarity report" and "Display notification" are not checked, student will not aware of the similarity checking behind. File:assignment config.png Manual scanning Other than scheduling a date to scan the assignment, you can manually trigger the scanning process by clicking the button at anytime on the assignment page. This allows for flexibility in case of late submissions or some unanticipated changes. Different scheduled and manual scannings will be saved and you can look back the history in the report. File:manual scan.png Viewing the report In the assignment page, teachers can click on “Rescan” button to trigger the scanning at anytime after the assignment is created (even before its due date). After the scanning process finishes, a link to the report page will appears. Click on the link to see the report: The report consists of a graph of similarity rate distribution of every pairs, and a table listing similar pairs in descending order. Several options are offered to view the report, including: Similarity filter: display only the pairs having similarities above the specified value Similarity type: choosing between average similarity and maximum similarity. Since the length of each student's code may vary a lot, the percentage of the similar portions between the two codes differs. Average similarity takes the average rate between the two as the rate of the pair and maximum similarity takes the maximum rate between the two as the rate of the pair. For example, if student A has 50% of code similar to student B and student B has 30% of code similar to student A (because B's code is longer than A's code), average similarity rate is 40% and maximum similarity rate is 50%. Detector: choose between MOSS and JPlag (if the scanning is run with both detectors) Display Grouping students: a table with each row containing similarities between students having with one student in the first cell Ordered table: a simple list of pairs in descending similarity rate History: if scanning is performed multiple times, you can look back the results of previous scans. File:report view.png Clicking on the bars of the chart will also show the pairs of which similarity rate belong to that range. The box listed scanning in reverse chronological order. Clicking on the percentage value will bring the comparison view, which show the similarities of the students' work. Clicking on the arrows at the bottom right of the cells will show the chart of similarity history of that pair (and then click on the bars of that chart will show the comparison between the pair at the time of scanning) File:history view.png Comparison between two students' work Comparison view enables to compare the similarity of a pair of students as well as similar portions of one students with all the others. Lecturers can mark a pair if they think there are too much similarities to each other. File:comparison view.png By ticking the checkbox "Show similarity between with other students", lecturers can also see the similar parts of that students with everyone in the class (not just pair to pair) File:comparision others.png Source: docs.moodle.org/503/en/Programming Code Plagiarism Plugin — MoodleDocs (GPL) · Imported 2026-11-10. Recent files The recent files repository allows users quickly to locate files they uploaded previously. 1 Using Recent files 2 Recent files repository settings 3 Disabling Recent files 4 Repository capabilities 5 FAQ 5.1 I can't see all my uploaded files in Recent files Using Recent files Recent files can be accessed anywhere the file picker is available. However... Recent files are context-sensitive -that is to say - you will only see the type of file Moodle thinks you want to upload. Example 1: A user clicks the image icon in the text editor to upload an image already used in a different course. The Recent files repository will only show image files even though the user might have uploaded files of other types previously. Example 2: A user clicks the Moodle media icon to upload a sound file already used in a different course. The Recent files repository will only show media files even though the user might have uploaded files of other types previously. Recent files repository settings In Site Administration > Plugins > Repositories > Recent Files you can set Number of recent files - if left blank, the last 50 files are displayed. Time limit - to only display files within the specified time e.g. 2 weeks. Disabling Recent files Recent files is enabled by default but can be disabled by the administrator if required. Go to Site Administration > Plugins > Repositories > Manage Repositories. Change the drop down next to Recent files from "Enabled and Visible" to "Disabled". Repository capabilities There is just one capability, View recent files, which is allowed for the default authenticated user role. FAQ I can't see all my uploaded files in Recent files This is probably due to the place where you are accessing Recent files, as explained above. Source: docs.moodle.org/503/en/Recent files — MoodleDocs (GPL) · Imported 2026-11-10. Recent files repository The recent files repository allows users quickly to locate files they uploaded previously. 1 Using Recent files 2 Recent files repository settings 3 Disabling Recent files 4 Repository capabilities 5 FAQ 5.1 I can't see all my uploaded files in Recent files Using Recent files Recent files can be accessed anywhere the file picker is available. However... Recent files are context-sensitive -that is to say - you will only see the type of file Moodle thinks you want to upload. Example 1: A user clicks the image icon in the text editor to upload an image already used in a different course. The Recent files repository will only show image files even though the user might have uploaded files of other types previously. Example 2: A user clicks the Moodle media icon to upload a sound file already used in a different course. The Recent files repository will only show media files even though the user might have uploaded files of other types previously. Recent files repository settings In Site Administration > Plugins > Repositories > Recent Files you can set Number of recent files - if left blank, the last 50 files are displayed. Time limit - to only display files within the specified time e.g. 2 weeks. Disabling Recent files Recent files is enabled by default but can be disabled by the administrator if required. Go to Site Administration > Plugins > Repositories > Manage Repositories. Change the drop down next to Recent files from "Enabled and Visible" to "Disabled". Repository capabilities There is just one capability, View recent files, which is allowed for the default authenticated user role. FAQ I can't see all my uploaded files in Recent files This is probably due to the place where you are accessing Recent files, as explained above. Source: docs.moodle.org/503/en/Recent files repository — MoodleDocs (GPL) · Imported 2026-11-10. RecordRTC 1 What is RecordRTC? 1.1 What are the admin settings? 1.2 Capabilities 2 How does it work? 3 Troubleshooting 3.1 Recording stops after a few seconds 4 Known issues 5 FAQ 5.1 Why won't these plugins work with all browsers? 5.2 Can I have recordings of more than 2 minutes? 5.3 Where are the recordings stored? 5.4 How do I set it up with Ubuntu? 6 Notes for system administrators 6.1 Increasing max file size 7 Notes for developers 7.1 Updating libraries What is RecordRTC? RecordRTC is a standard feature in the Text editor, enabling users to record audio, video or screen anywhere a text editor is present. This plugin adds buttons for recording to the editor's toolbar. Using WebRTC technologies, all recording is done instantly in the browser. After recording, users can embed the recording directly into the text they are currently editing. The recording will appear as an audio or video player. The plugin works fine with Chrome, Firefox and Opera on Desktop computers running Windows, Linux, Mac OS and Chrome OS. What are the admin settings? In Site administration > Plugins > Text editors > TinyMCE editor > RecordRTC you can: Select recording types - Audio, Video or Screen Set the bitrate for audio, video and screen recordings Set the time limit for audio, video and screen recordings Set the screen recording size Allow recordings to be paused The default bitrate for recorded audio (128000) should lead to generate files of about 15kB per minute and the default bitrate for recorded video (2500000) to generate files of 20MB per minute. The lower the bitrate the smaller the file size. The recording time limit is set to 120 seconds by default so the maximum size expected on video files should be of about 40MB. Capabilities There are 3 capabilities for controlling who can record audio, video, or screen: Record audio Record video Record screen By default, all the capabilities are allowed for the authenticated user role. To restrict recording to certain roles, you need to unset the capability from the authenticated user role and allow it for other roles as required. How does it work? The Text editor will display icons for audio and/or video, depending on the administration settings. Click the icon for audio or video recording. You'll see a button 'Start recording'. Click it and speak. When you have finished, click to stop the recording. It will ask you to name it and attach the recording. Troubleshooting Recording stops after a few seconds There are two settings that establish the maximum file size that can be uploaded to Moodle. These are defined in php.ini for the web server. post_max_size = 8M upload_max_filesize = 2M Just edit the file and increase their values to something between 40M-50M for 2 minutes video recordings. In Ubuntu vi /etc/php/7.0/apache2/php.ini You can set some large values as described in this Moodle tracker issue: post_max_size = 1024M upload_max_filesize = 1024M Known issues The media files don't show duration The controls for navigating the files do not work properly in the player. FAQ Why won't these plugins work with all browsers? WebRTC ("Web Real-Time Communication") is a collection of communications protocols and application programming interfaces that enable real-time communication over peer-to-peer connections. Implemented in browsers it enables applications such as video conferencing, file transfer, chat, or desktop sharing without the need of either internal or external plugins.[Wikipedia] MediaStream Recording API, sometimes simply referred to as the Media Recording API or the MediaRecorder API, is closely affiliated with the Media Capture and Streams API and the WebRTC API. The MediaStream Recording API makes it easy to record audio and/or video streams. When used with navigator.mediaDevices.getUserMedia(), it provides an easy way to record from the user's input devices and instantly use the result in web apps. Both audio and video may be recorded, separately or together. [MediaRecorder Documentation] As these plugins make use of diverse WebRTC technologies, they can only be used in browsers that have implemented both WebRTC 1.0 and MediaRecorder API. This is the case for Chrome, Firefox and Opera. See `Supported browsers and platforms` Therefore, these are the only ones that the initial version of these plugins (1.0) support. Edge has implemented WebRTC 1.0 in Microsoft Edge but it does not include MediaRecorder API, so implementing the plugins for this browser requires some customisation to the libraries and the use of an external server. Safari 11 for iOS will support WebRTC 1.0 [See] but same as edge, the implementation of MediaRecorder API has not been announced. As this covers only about the 60% of the browsers, there are plans for adding support to these two browsers by making use of Media Streaming as in version 2.0 of these plugins. Can I have recordings of more than 2 minutes? Yes. That can be changed in the plugin configuration. Keep in mind that as the file size will increase, the settings in php should also be edited. Also, because the size can be too much for the browser itself, we recommend not going to large. The only solution for giving a really large limit to the file size is to include a server component for doing a progressive upload and trans coding. But the first version of these plugins do not cover that possibility. Where are the recordings stored? Storing the RecordRTC recordings is not different than storing any other media file that is uploaded to Moodle. So, it depends of the file system your Moodle server has configured. When using the default configuration, all files are stored in /moodlepath/moodledata/filedir/xx/yy/ where xx and yy are the path defined by the API when the file was uploaded. If you are a developer interested in learning more details about this you can see File storage on disk. It is an old article but it gives a good idea on what is underneath. Also see Amazon S3 repository for information on storing files externally in Amazon S3 buckets. How do I set it up with Ubuntu? Navigate to `moodle_root_path/lib/editor/tinymce/plugins`, where `moodle_root_path` is the location where Moodle is installed (ex.: `/var/www/html/moodle`) Execute sudo git clone https://github.com/blindsidenetworks/moodle-tinymce_recordrtc.git recordrtc Log into a Moodle account with administration capabilities. Notes for system administrators Increasing max file size The default maximum size of uploads in PHP is very small, it is recommended to set the upload_max_filesize setting to 40M and the post_max_size setting to 50M for a time limit of 2:00 to avoid getting an alert while recording. The file size of recorded video for Firefox will likely be twice that of other browsers, even with the same settings; this is expected as it uses a different writing library for recording video. The audio file size should be similar across all browsers. Notes for developers Updating libraries These plugins makes use of two libraries. Adapter.js which makes all the WebRTC magic and Bowser.js that helps to identify the browser and OS where the application is running. If trying to update Bowser or Adapter.js dependencies for the project, it is necessary to replace the named definition at the top of the file with an anonymous one, like so For Bowser.js: Old code: !function (root, name, definition) { if (typeof module != 'undefined' && module.exports) module.exports = definition() else if (typeof define == 'function' && define.amd) define(name, definition) else root[name] = definition() }(this, 'bowser', function () { New code: define([], function() { Or so for Adapter.js: Old code (function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.adapter = f()}})(function(){ New code define([], function() { Source: docs.moodle.org/503/en/RecordRTC — MoodleDocs (GPL) · Imported 2026-11-10. Repositories Repositories in Moodle enable users to add files to a course and other locations in Moodle. Repositories provide access to specific types of file sources. They can also allow, where appropriate, users to upload files, access previously uploaded files, and to easily bring content into Moodle from external sources, such as Flickr or Google Docs. See Managing repositories for more on configuring and managing them. 1 Standard repositories 1.1 Repositories enabled by default 1.2 Additional standard repositories disabled by default 2 See also Standard repositories Repositories are managed in Site administration > Plugins > Repositories > Manage repositories. Standard repositories come with default Moodle. It is also possible to add additional repositories via Moodle plugins. Repositories enabled by default Content bank Gives access to H5P files created or uploaded into the content bank in courses (in 3.9 onwards) Embedded files - Allows linking to files and images available to the user that have been added/embedded in their course activities Server files - Gives access to files elsewhere on the Moodle site (limited by a user's permissions) Recent files - Shows the last 50 files you have uploaded, according to the context Upload a file - Enables the "Upload a file" option in the site File picker to allow users to browse for and upload files Private files - Enables access to a personal storage area for every user URL downloader - Allows downloading of files and images from a particular URL Wikimedia - Lets users search for and insert media (images) from Wikipedia Additional standard repositories disabled by default These may be enabled and set to visible or hidden by a site administrator. Box - bring files in from your Box account Dropbox - link to or copy files from Dropbox EQUELLA - link to files in an EQUELLA installation File system - access files uploaded to a folder on your server (by, e.g. FTP) Flickr - search for and display images from your personal Flickr account Flickr public - search for and display images publicly available from Flickr Google Drive - bring files from your Google Drive account Merlot.org - bring resources in from Merlot.org Nextcloud Amazon S3 - enables users to copy files from Amazon S3 storage instances OneDrive bring in files from your Microsoft OneDrive WebDAV -bring in files from external sources using WebDAV protocol YouTube videos - search for and display YouTube videos See also Managing repositories Repositories FAQ Managing a personal repository - keep all your files in your PC, upload them to the cloud and use them in Moodle. Repositories in Moodle 2.0 video Whitepaper – Moodle 2 Repositories by Gavin Henrick Five Tips for Using the New File Repository System in Moodle by Marcelo Mendes dev:Repository plugins developer documentation Moodle Repository Plugins database Moodle Repositories discussion forum Source: docs.moodle.org/503/en/Repositories — MoodleDocs (GPL) · Imported 2026-11-10. Repositories FAQ 1 What is a repository? 2 How can I enable repositories in Moodle? 3 How can I delete an embedded file previously added using the file picker? 4 If I add a file (File resources) to a page, then delete the File resource, will the file I added remain in my Recent files list? 5 How do I create a new repository on my site? 6 How can I prevent students from accessing the private files repository? 7 What happens if a teacher adds a file from their Private files to the course and they later leave and their account is closed? 8 I cannot access a student's repositories when logged in as that student 9 See also 10 Any further questions? What is a repository? A repository can be thought of as a storage area from which users can retrieve files to add to their course. There are several repositories enabled by default, such as Server files which contains files from other courses a user has access to, or Upload a file which allows the user to search their computer or USB drive for a file to upload. Other repositories include Google Drive,or Flickr. See Repositories for more information. How can I enable repositories in Moodle? Repositories can be enabled by a site administrator in Administration > Site administration > Plugins > Repositories > Manage repositories. All enabled and visible repositories will appear in the file picker. How can I delete an embedded file previously added using the file picker? There is no need to do anything, as any unused files are detected and then deleted automatically after a period of time. Users cannot delete files manually, since they may be used elsewhere. When an activity or resource which uses a file is deleted, the file is moved immediately to trash. The frequency with which trash is emptied i.e. files are deleted depends on the settings in Site administration > Server > Scheduled tasks (\core\task\file_trash_cleanup_task) See also the forum thread Deleting uploaded files. If I add a file (File resources) to a page, then delete the File resource, will the file I added remain in my Recent files list? No. The file will not be available. How do I create a new repository on my site? You can create a new repository that will show up on the file picker. See File system repository. How can I prevent students from accessing the private files repository? See the section 'Preventing access to Private files' in Private files. What happens if a teacher adds a file from their Private files to the course and they later leave and their account is closed? As long as a file is used in a context, such as a course, the file should remains available in that context. That holds true when a teacher copies a file in a course from his My private files area and also when a teacher creates an alias/shortcut: in the latter case if a teacher deletes his files from My private files area that are used as alias/shortcut in some courses, Moodle will convert existing alias/shortcuts into file copies, so your course file links won't break. (copied from forum thread thanks to Andrea Bicciolo I cannot access a student's repositories when logged in as that student This is intentional, as there is a security and privacy risk involved in an administrator being able to log in as a student and then explore and use the student's Google Drive, Dropbox and other similar repositories. See also File picker FAQ File system repository FAQ Any further questions? Please post in the Repositories forum on moodle.org. Source: docs.moodle.org/503/en/Repositories FAQ — MoodleDocs (GPL) · Imported 2026-11-10. Repository Repositories in Moodle enable users to add files to a course and other locations in Moodle. Repositories provide access to specific types of file sources. They can also allow, where appropriate, users to upload files, access previously uploaded files, and to easily bring content into Moodle from external sources, such as Flickr or Google Docs. See Managing repositories for more on configuring and managing them. 1 Standard repositories 1.1 Repositories enabled by default 1.2 Additional standard repositories disabled by default 2 See also Standard repositories Repositories are managed in Site administration > Plugins > Repositories > Manage repositories. Standard repositories come with default Moodle. It is also possible to add additional repositories via Moodle plugins. Repositories enabled by default Content bank Gives access to H5P files created or uploaded into the content bank in courses (in 3.9 onwards) Embedded files - Allows linking to files and images available to the user that have been added/embedded in their course activities Server files - Gives access to files elsewhere on the Moodle site (limited by a user's permissions) Recent files - Shows the last 50 files you have uploaded, according to the context Upload a file - Enables the "Upload a file" option in the site File picker to allow users to browse for and upload files Private files - Enables access to a personal storage area for every user URL downloader - Allows downloading of files and images from a particular URL Wikimedia - Lets users search for and insert media (images) from Wikipedia Additional standard repositories disabled by default These may be enabled and set to visible or hidden by a site administrator. Box - bring files in from your Box account Dropbox - link to or copy files from Dropbox EQUELLA - link to files in an EQUELLA installation File system - access files uploaded to a folder on your server (by, e.g. FTP) Flickr - search for and display images from your personal Flickr account Flickr public - search for and display images publicly available from Flickr Google Drive - bring files from your Google Drive account Merlot.org - bring resources in from Merlot.org Nextcloud Amazon S3 - enables users to copy files from Amazon S3 storage instances OneDrive bring in files from your Microsoft OneDrive WebDAV -bring in files from external sources using WebDAV protocol YouTube videos - search for and display YouTube videos See also Managing repositories Repositories FAQ Managing a personal repository - keep all your files in your PC, upload them to the cloud and use them in Moodle. Repositories in Moodle 2.0 video Whitepaper – Moodle 2 Repositories by Gavin Henrick Five Tips for Using the New File Repository System in Moodle by Marcelo Mendes dev:Repository plugins developer documentation Moodle Repository Plugins database Moodle Repositories discussion forum Source: docs.moodle.org/503/en/Repository — MoodleDocs (GPL) · Imported 2026-11-10. Server files What are server files? The server files repository enables teachers and managers to access files used within a course and elsewhere on the site which they have permission to access. Activity modules for which files are available in the server files repository are: File resource Folder resource Database Forum Glossary Lesson Whole site category view Course view Course section view A search box at the top of the Server files screen allows those users with relevant permissions elsewhere on the site to search other courses for a required file. A teacher who teaches several courses for example can now quickly locate a document used in one of her older courses by typing its name into the Search field: When a file from the server files repository is re-used elsewhere on Moodle, the teacher has the option to make a copy (a new, unconnected version) or to create a shortcut or alias. See Working with files for more details. Repository capabilities The capability View server repository, which is allowed for the default roles of manager, course creator, teacher and non-editing teacher, ensures that the server files repository is listed in the file picker. This capability should be allowed together with the manage files capability to enable users to access files used within a course. Source: docs.moodle.org/503/en/Server files — MoodleDocs (GPL) · Imported 2026-11-10. Server files repository What are server files? The server files repository enables teachers and managers to access files used within a course and elsewhere on the site which they have permission to access. Activity modules for which files are available in the server files repository are: File resource Folder resource Database Forum Glossary Lesson Whole site category view Course view Course section view A search box at the top of the Server files screen allows those users with relevant permissions elsewhere on the site to search other courses for a required file. A teacher who teaches several courses for example can now quickly locate a document used in one of her older courses by typing its name into the Search field: When a file from the server files repository is re-used elsewhere on Moodle, the teacher has the option to make a copy (a new, unconnected version) or to create a shortcut or alias. See Working with files for more details. Repository capabilities The capability View server repository, which is allowed for the default roles of manager, course creator, teacher and non-editing teacher, ensures that the server files repository is listed in the file picker. This capability should be allowed together with the manage files capability to enable users to access files used within a course. Source: docs.moodle.org/503/en/Server files repository — MoodleDocs (GPL) · Imported 2026-11-10. Skydrive repository 1 About the Microsoft OneDrive repository 2 Enabling the OneDrive repository 3 Access controlled links 4 Repository capabilities 5 See also About the Microsoft OneDrive repository The Microsoft OneDrive repository allows you to access your documents from Microsoft OneDrive within Moodle. As well as adding basic files, the OneDrive repository link allows you to access your OneDrive live directly from the configuration icon. The first time you access the OneDrive repository, you will be prompted to agree to connect. Once you have agreed, you can then log in, view and use your files. Enabling the OneDrive repository To use the OneDrive repository, an administrator must first create a Microsoft OAuth 2 service (a new requirement in Moodle 3.3 onwards). Go to 'OAuth 2 services' in Site administration - Server and click the button to create a new Microsoft service. Follow the instructions in OAuth 2 Microsoft service and obtain a client ID and secret. Enter the client ID and secret and save changes. Go to 'Manage repositories' in Site administration and enable the OneDrive repository. On the OneDrive configuration page, make sure that Microsoft is selected as the OAuth 2 service then save changes. Note: OneDrive requires that requests are delivered over SSL - this means that the OneDrive repository will not work if your site is not running over HTTPS. Access controlled links Students may submit files from OneDrive as 'access controlled links' in assignments. Once submitted, the student may no longer change them, but the teacher is allowed to edit them. Teachers may display files from OneDrive as 'access controlled links'. The teacher can then continue updating the files, but students can only view them. To enable this feature, ensure that: A system account has been connected in OAuth 2 services in Site administration. This account will own and control access to files submitted by students and teachers. Teachers will be able to edit the files but students will not. This should be a dedicated account for this purpose. "Supported files" is set to "Internal and External" . "Default return type" is set to "External (only links stored in Moodle)". Repository capabilities There is just one capability associated with this repository: View OneDrive repository. See also OAuth 2 authentication for enabling users to log in to Moodle with their Microsoft account Source: docs.moodle.org/503/en/Skydrive repository — MoodleDocs (GPL) · Imported 2026-11-10. Sound Audio is a very powerful tool to use in a Moodle course. Teachers and students can use audio actively, by recording short messages directly into the text editor. Teachers can also display audio so students can, for example to catch up on missed lectures, learn from podcasts, or improve their language skills by listening to native speakers interact. To use audio in Moodle to best effect, the Multimedia plugins filter must be enabled. 1 Recording short audio messages 2 Types of audio (sound) files 3 Ways of displaying audio 3.1 Linking to a sound file online elsewhere 3.2 Uploading audio 3.3 Embedding a sound file in its own player 3.3.1 Using the Moodle media icon 3.3.2 Using a hyperlink 3.3.3 Using embed code to display online audio 4 See also Recording short audio messages The Text editor allows teachers and students to record short audio messages by clicking the relevant icon. (If you don't see this setting in the editor, ask your administrator to check the RecordRTC settings.) Example uses are: Introductions in Forum posts Spoken assignments instead of typed Quiz questions where the teacher speaks the question Types of audio (sound) files The default VideoJS player will play the following audio files: mp3, .aac, .flac, .m4a, .oga, .ogg, .wav Ways of displaying audio Linking to a sound file online elsewhere If your audio file is hosted elsewhere online you can simply link to the relevant page by choosing URL from 'Add an activity or resource' and pasting in the relevant link given you by the site. Note that, in an establishment where certain sharing sites might be banned, your students might not be able to access your sound file through Moodle. Uploading audio If your browser allows resources to be dragged and dropped, then you can turn on the editing and drag the audio file directly onto the course page. A box will then appear for you to decide whether you want the audio embedded in a label, or added as a clickable file resource: Alternatively, you can upload the audio file by turning the editing on and choosing Add an activity or resource > File. Embedding a sound file in its own player Moodle includes a built-in audio player. If the relevant Multimedia plugins filter is enabled by the administrator and within the course, sound files embedded into the text editor will play inline. Using the Moodle media icon With your editing turned on, click into the HTML editor where you wish to embed your sound file. (It needs to be mp3.) Click the Multimedia icon. Drag and drop the file to upload it or add the URL of the file. Click the Browse repositories button to locate and upload your audio file from the repository where it is stored. (What you see depends on what the admin has enabled.) If you have it in more than one file type, then you can upload an alternative video by clicking 'Add alternative source'. This helps make your sound file play on more browsers and devices. Advanced settings allows you to decide how the file will play Subtitles and captions allows you to add subtitle files (VTT) in different languages and/or caption files, with descriptions, chapters and metadata. Subtitles, captions, chapters and descriptions can be added to videos and audios using WebVTT file format. These files can be created using caption making software or just plain text editor. Find out more about WebVTT format here (https://w3c.github.io/webvtt/) Click the Insert media button when you are ready. Your sound file will appear but not yet play. Once saved, your file will display in its own player: The playback rate (speed) of the audio can be changed. Using a hyperlink (Note - this method has no advantage over using the media icon, but was popular in older versions of Moodle) With your editing turned on, click into the HTML editor where you wish to embed your mp3 file. Type some blank spaces and select them. Click the hyperlink icon as in the following screenshot.(The icon will only be clickable if you have selected text or spaces) Click "Browse repositories": This takes you to the file picker. Follow the instructions for uploading/selecting your sound file as for using the Moodle media icon. When your file is chosen, it will appear in the link URL box as below. Click Create link" Don't panic! You will now only get a blue line in the HTML editor: When you click save changes to return to the main course page, your mp3 file will display. Using embed code to display online audio Some sites provide embed code/widgets that will enable you to play their mp3 files on your Moodle. First - go to your chosen site and copy this code of the mp3 file you wish to use. With your editing turned on, click into the HTML editor where you wish to embed the file. Click the HTML code icon as in the following screenshot: Paste your embed code into the box: Scroll down and click "update". The mp3 file will be previewed in the HTML editor. Click save changes for it to display on the page See also Media FAQ Speech tools Source: docs.moodle.org/503/en/Sound — MoodleDocs (GPL) · Imported 2026-11-10. Sound files Audio is a very powerful tool to use in a Moodle course. Teachers and students can use audio actively, by recording short messages directly into the text editor. Teachers can also display audio so students can, for example to catch up on missed lectures, learn from podcasts, or improve their language skills by listening to native speakers interact. To use audio in Moodle to best effect, the Multimedia plugins filter must be enabled. 1 Recording short audio messages 2 Types of audio (sound) files 3 Ways of displaying audio 3.1 Linking to a sound file online elsewhere 3.2 Uploading audio 3.3 Embedding a sound file in its own player 3.3.1 Using the Moodle media icon 3.3.2 Using a hyperlink 3.3.3 Using embed code to display online audio 4 See also Recording short audio messages The Text editor allows teachers and students to record short audio messages by clicking the relevant icon. (If you don't see this setting in the editor, ask your administrator to check the RecordRTC settings.) Example uses are: Introductions in Forum posts Spoken assignments instead of typed Quiz questions where the teacher speaks the question Types of audio (sound) files The default VideoJS player will play the following audio files: mp3, .aac, .flac, .m4a, .oga, .ogg, .wav Ways of displaying audio Linking to a sound file online elsewhere If your audio file is hosted elsewhere online you can simply link to the relevant page by choosing URL from 'Add an activity or resource' and pasting in the relevant link given you by the site. Note that, in an establishment where certain sharing sites might be banned, your students might not be able to access your sound file through Moodle. Uploading audio If your browser allows resources to be dragged and dropped, then you can turn on the editing and drag the audio file directly onto the course page. A box will then appear for you to decide whether you want the audio embedded in a label, or added as a clickable file resource: Alternatively, you can upload the audio file by turning the editing on and choosing Add an activity or resource > File. Embedding a sound file in its own player Moodle includes a built-in audio player. If the relevant Multimedia plugins filter is enabled by the administrator and within the course, sound files embedded into the text editor will play inline. Using the Moodle media icon With your editing turned on, click into the HTML editor where you wish to embed your sound file. (It needs to be mp3.) Click the Multimedia icon. Drag and drop the file to upload it or add the URL of the file. Click the Browse repositories button to locate and upload your audio file from the repository where it is stored. (What you see depends on what the admin has enabled.) If you have it in more than one file type, then you can upload an alternative video by clicking 'Add alternative source'. This helps make your sound file play on more browsers and devices. Advanced settings allows you to decide how the file will play Subtitles and captions allows you to add subtitle files (VTT) in different languages and/or caption files, with descriptions, chapters and metadata. Subtitles, captions, chapters and descriptions can be added to videos and audios using WebVTT file format. These files can be created using caption making software or just plain text editor. Find out more about WebVTT format here (https://w3c.github.io/webvtt/) Click the Insert media button when you are ready. Your sound file will appear but not yet play. Once saved, your file will display in its own player: The playback rate (speed) of the audio can be changed. Using a hyperlink (Note - this method has no advantage over using the media icon, but was popular in older versions of Moodle) With your editing turned on, click into the HTML editor where you wish to embed your mp3 file. Type some blank spaces and select them. Click the hyperlink icon as in the following screenshot.(The icon will only be clickable if you have selected text or spaces) Click "Browse repositories": This takes you to the file picker. Follow the instructions for uploading/selecting your sound file as for using the Moodle media icon. When your file is chosen, it will appear in the link URL box as below. Click Create link" Don't panic! You will now only get a blue line in the HTML editor: When you click save changes to return to the main course page, your mp3 file will display. Using embed code to display online audio Some sites provide embed code/widgets that will enable you to play their mp3 files on your Moodle. First - go to your chosen site and copy this code of the mp3 file you wish to use. With your editing turned on, click into the HTML editor where you wish to embed the file. Click the HTML code icon as in the following screenshot: Paste your embed code into the box: Scroll down and click "update". The mp3 file will be previewed in the HTML editor. Click save changes for it to display on the page See also Media FAQ Speech tools Source: docs.moodle.org/503/en/Sound files — MoodleDocs (GPL) · Imported 2026-11-10. Speech tools Moodle has no built-in tools for speech messaging or audioconferencing. However, there are various add-ons which allow video and audio conferencing and direct recording into Moodle's text editor Big Blue Button is a popular audio/video conferencing tool available from the plugins directory. It is an open source project which supports real-time sharing of slides (including whiteboard), audio, video, chat, and desktops. It also record lectures for later playback. See Big Blue Button website for more general information. Deft response block provides a near native way to add audio conferencing to Moodle. Teachers can add buttons to the block any where blocks can be used in a course. Pressing one of the buttons allows learners to converse with each other about the Moodle activities where the block is located. A free service provides minimal networking services. User data and authentication are handled exclusively by the Moodle server where the block is installed. See deftly.us for more information. Openmeetings provides video conferencing, instant messaging, white board, collaborative document editing and other groupware tools using API functions of the Red5 Streaming Server for Remoting and Streaming. OpenMeetings is a project of the Apache. See Moodle plugin for more details. Poodll allows you to record audio into forums, pages, anywhere with a text editor. Recordings are done via the Poodll server hosted by Amazon and transferred to your Moodle site. The Poodll set of tools (filter, assignment 2.3 type, repository, question type) is available from the plugins directory. It is simple to install and doesn't require any particular PHP expertise. Poodll Read Aloud is an online testing system designed to assist teachers in evaluating their students' reading fluency as WPM(Words Correct Per Minute) scores. It features automated evaluation of students using AI and HTML5 recording via Cloud Poodll. It has no dependencies on other plugins. Source: docs.moodle.org/503/en/Speech tools — MoodleDocs (GPL) · Imported 2026-11-10. Streaming Media The default player VideoJS provides industry-leading accessibility and usability for video and audio in your content. Watch the screencast Media players to view a demonstration. Additional media players can be enabled in 'Manage media players' in Site administration and new media players can easily be added as plugins. Source: docs.moodle.org/503/en/Streaming Media — MoodleDocs (GPL) · Imported 2026-11-10. TeX Filter The TeX Filter is a core Moodle filter intended to allow one to convert tex expressions into GIF, PNG or SVG images. The filter relies on some additional binaries to accomplish this for expressions contained between appropriate tokens. Where these binaries are not available, Moodle provides for a fallback through the use of Mimetex. Versions of MimeTex for Linux (glib2.3 32bit), Windows, Mac OS X and FreeBSD are included in the Moodle distribution. There are other technologies available for displaying Tex (see the section on Mathematics tools for a discussion.) Note: being based on binaries it requires the availability of three PHP program execution functions: exec, shell_exec and system. 1 Methods and Usage 2 MimeTeX 3 Compatability with MathJax 4 Site administration settings 4.1 Installing the binaries 4.2 LaTeX preamble 4.3 Transparent colour 4.4 Density 4.5 Path of latex binary 4.6 Path of dvips binary 4.7 Path of convert binary 4.8 Path of dvisvgm binary 4.9 Path of mimetex binary 5 Debugging TeX filter 6 See also Methods and Usage To avoid confusion you should note that the TeX filter has two separate methods for converting the TeX notation to images. The preferred method is a collection of three binaries that you are responsible for installing (if they are not already present, though many webhosts make these available) and configuring on your server. The filter settings page relates entirely to this method. If this fails for any reason the filter will fall back to a single binary - MimeTeX. A number of different builds are included in the Moodle distribution for popular operating systems, though Mimetex and its bigger brother, MathTex are easy enough to compile and install if you have systems administration experience. Before doing anything else, you need to go to Settings > Site administration > Plugins > Filters and activate the TeX Notation Filter. If you want to use the Algebra filter (another core filter) since the Algebra Filter is really only a "front end" to the Tex filter, you should also turn on the Algebra filter. For more information on the Algebra Filter see the Algebra filter. Once the filter is turned on and properly configured you can make use of it by including a TeX expression delimited by double-dollar signs. Example: $$ \sqrt{x + y} $$ If this does not display properly, see the information on debugging. MimeTeX Moodle may use a pre-built MimeTeX binary (located in the filters/tex directory) as a fallback if it can't properly access dvips, convert and latex binaries. There are a number of different versions for different operating systems. The TeX filter picks the appropriate binary for the detected host operating system (you will need to hack the script if your operating system is not included). Note that your web server needs to be set up with appropriate permissions for running binaries in that location. The MimeTeX manual is available but is arguably intended for persons with systems administration experience and does not specifically address the Moodle environment. You should only use MimeTeX if installing the full LaTeX system fails or the binaries are not available on your system. The results are not nearly as good. Compatability with MathJax In Moodle 2.8 onwards, the TeX Notation and MathJaxloader filter may be used in combination. If both filters are enabled on the page, images will be displayed first by the TeX notation filter, and the MathJax version of the TeX expression will replace a little while later when MathJax has finished loading and processing. If both filters are available, a teacher may decide which to use in an activity by enabling one and disabling the other. Site administration settings Location: TeX Notation settings link in Settings > Site administration > Plugins > Filters > Manage filters The TeX filter settings page are primarily intended to adjust the operation of the LaTeX renderer. The defaults for the three path settings are selected according to the detection of the operating system on which Moodle is running. These are simply suggested common values - Moodle does not check that the binaries actually exist at these locations. More recent versions of Moodle show a green tick or a red cross next to the path setting - this shows that the binary exists at that location (only). The settings have no effect on the operation of the MimeTex binary (used if any of these binaries are not found). Installing the binaries This depends on your platform, but for a typical install you are going to need a LaTeX implementation. On modern Linux implementations you should look for the 'texlive' package (e.g. apt-get install texlive) although a Windows version is available (see Tex Live). It is highly unlikely that you will have all these binaries as part of a standard install. If you cannot find texlive you may have to install LaTeX, Ghostscript and ImageMagick separately. While not endorsed by Moodle.org, a simple installation binary for Windows is MikTeX. For security reasons, you should ensure shell escape is disabled (shell_escape = f) in your LaTeX configuration (if is enabled, this will be set to "t"). This is to prevent the risk of users being able to execute external commands. Note that this is usually disabled by default. (If this is set to "p" i.e. restricted mode, a predefined set of commands are allowed, if this is the desired behaviour, be extremely careful which commands are allowed given all users will have access to these). The filter settings page will try to guess the most likely location for the binary files depending on the detected platform. If correct, green ticks will appear against each setting. If red crosses appear you will need to check and modify the settings as required. A simple check is made to establish if the binaries exist at the given paths. A tick or a cross is displayed alongside each as a result. Note that this does not check that the application actually works, just that it is there. Some systems supply the fonts as separate packages. If you are having problems make sure you have all the fonts you need installed. You may need to track down an 'extra' fonts package to get the required maths fonts. LaTeX preamble Enables the LaTeX preamble to be specified. The default should work for most users, but you may need to change it to support non-Latin character sets etc. Please see the LaTeX documentation for further details. Transparent colour This should be set to your normal text background colour. The default setting is #FFFFFF (i.e., white). Density This setting effects the size of the resulting image. The default setting is 120 pixels, and it produces an image of reasonable quality, but for some complicated equations, this still may not be enough. It may be that anything less is not going to produce an image of sufficient quality but the image size can be controlled by the TeX encoding when the page is rendered. Path of latex binary Path to standard latex binary. On Unix based systems it is normally "/usr/bin/latex". On a MacOS X, the path is "/usr/texbin/". In Windows, using MiKTeX, it is usually something like C:\texmf\miktex\bin\latex.exe Path of dvips binary Path to standard dvips binary - generally distributed as part of a LaTeX system. On Unix based systems it is normally "/usr/bin/dvips". On a MacOS X, the path is "/usr/texbin/". On Windows using MikTeX is usually something like C:\texmf\miktex\bin\dvips.exe Path of convert binary Path to standard convert binary. It is necessary to produce GIF or PNG images from using the latex and dvips binaries. This is distributed as part of the Ghostscript system, or ImageMagick in Linux. On Unix based systems it is normally "/usr/bin/convert". On a MacOS X, the path is "/usr/local/bin/". On a Windows-based PC the path is something like C:\Program Files\ImageMagick\convert.exe (for ImageMagick, but something else for GhostScript.) Path of dvisvgm binary This binary is used instead of convert to produce SVG images. This is distributed as part of TeXlive on Linux although it may be require the full or extra packages to be installed. On Unix based systems it is normally "/usr/bin/dvisvgm". On a Windows-based PC a compiled binary is available from sourceforge and can placed in the same directory with the latex binary. Path of mimetex binary If this is blank and the binaries above are missing or fail, the TeX filter will attempt to use a mimetex binary distributed with Moodle. If you have installed mimetex on the server and would rather use it include the path here. Debugging TeX filter The TeX filter has a debugging script (which will be much more helpful if you turn on Debugging) included that should help if you are having problems. The URL will be as follows... http://your.moodle.path/filter/tex/texdebug.php You can either enter this path explicitly or with appropriate role permissions the TeX images (or more likely incorrectly rendered text, if you need debugging) will link to this. On more recent versions of Moodle you are required to be logged in as an Administrator to access this facility. See also TeX Filter Glossary - a glossary you can add to your course which details usage of the supported TeX notation. LaTeX - the LaTeX document preparation system. ghostscript - required to render the image MimeTeX Manual - Default TeX notation manual MikTeX - LaTeX for Windows systems ImageMagick - required to render images for Windows Using TeX Notation Advanced Maths Tools for Moodle 2.x - SEE - The Next Generation of TeX Tools Mathematics tools forum on moodle.org Source: docs.moodle.org/503/en/TeX Filter — MoodleDocs (GPL) · Imported 2026-11-10. TeX filter The TeX Filter is a core Moodle filter intended to allow one to convert tex expressions into GIF, PNG or SVG images. The filter relies on some additional binaries to accomplish this for expressions contained between appropriate tokens. Where these binaries are not available, Moodle provides for a fallback through the use of Mimetex. Versions of MimeTex for Linux (glib2.3 32bit), Windows, Mac OS X and FreeBSD are included in the Moodle distribution. There are other technologies available for displaying Tex (see the section on Mathematics tools for a discussion.) Note: being based on binaries it requires the availability of three PHP program execution functions: exec, shell_exec and system. 1 Methods and Usage 2 MimeTeX 3 Compatability with MathJax 4 Site administration settings 4.1 Installing the binaries 4.2 LaTeX preamble 4.3 Transparent colour 4.4 Density 4.5 Path of latex binary 4.6 Path of dvips binary 4.7 Path of convert binary 4.8 Path of dvisvgm binary 4.9 Path of mimetex binary 5 Debugging TeX filter 6 See also Methods and Usage To avoid confusion you should note that the TeX filter has two separate methods for converting the TeX notation to images. The preferred method is a collection of three binaries that you are responsible for installing (if they are not already present, though many webhosts make these available) and configuring on your server. The filter settings page relates entirely to this method. If this fails for any reason the filter will fall back to a single binary - MimeTeX. A number of different builds are included in the Moodle distribution for popular operating systems, though Mimetex and its bigger brother, MathTex are easy enough to compile and install if you have systems administration experience. Before doing anything else, you need to go to Settings > Site administration > Plugins > Filters and activate the TeX Notation Filter. If you want to use the Algebra filter (another core filter) since the Algebra Filter is really only a "front end" to the Tex filter, you should also turn on the Algebra filter. For more information on the Algebra Filter see the Algebra filter. Once the filter is turned on and properly configured you can make use of it by including a TeX expression delimited by double-dollar signs. Example: $$ \sqrt{x + y} $$ If this does not display properly, see the information on debugging. MimeTeX Moodle may use a pre-built MimeTeX binary (located in the filters/tex directory) as a fallback if it can't properly access dvips, convert and latex binaries. There are a number of different versions for different operating systems. The TeX filter picks the appropriate binary for the detected host operating system (you will need to hack the script if your operating system is not included). Note that your web server needs to be set up with appropriate permissions for running binaries in that location. The MimeTeX manual is available but is arguably intended for persons with systems administration experience and does not specifically address the Moodle environment. You should only use MimeTeX if installing the full LaTeX system fails or the binaries are not available on your system. The results are not nearly as good. Compatability with MathJax In Moodle 2.8 onwards, the TeX Notation and MathJaxloader filter may be used in combination. If both filters are enabled on the page, images will be displayed first by the TeX notation filter, and the MathJax version of the TeX expression will replace a little while later when MathJax has finished loading and processing. If both filters are available, a teacher may decide which to use in an activity by enabling one and disabling the other. Site administration settings Location: TeX Notation settings link in Settings > Site administration > Plugins > Filters > Manage filters The TeX filter settings page are primarily intended to adjust the operation of the LaTeX renderer. The defaults for the three path settings are selected according to the detection of the operating system on which Moodle is running. These are simply suggested common values - Moodle does not check that the binaries actually exist at these locations. More recent versions of Moodle show a green tick or a red cross next to the path setting - this shows that the binary exists at that location (only). The settings have no effect on the operation of the MimeTex binary (used if any of these binaries are not found). Installing the binaries This depends on your platform, but for a typical install you are going to need a LaTeX implementation. On modern Linux implementations you should look for the 'texlive' package (e.g. apt-get install texlive) although a Windows version is available (see Tex Live). It is highly unlikely that you will have all these binaries as part of a standard install. If you cannot find texlive you may have to install LaTeX, Ghostscript and ImageMagick separately. While not endorsed by Moodle.org, a simple installation binary for Windows is MikTeX. For security reasons, you should ensure shell escape is disabled (shell_escape = f) in your LaTeX configuration (if is enabled, this will be set to "t"). This is to prevent the risk of users being able to execute external commands. Note that this is usually disabled by default. (If this is set to "p" i.e. restricted mode, a predefined set of commands are allowed, if this is the desired behaviour, be extremely careful which commands are allowed given all users will have access to these). The filter settings page will try to guess the most likely location for the binary files depending on the detected platform. If correct, green ticks will appear against each setting. If red crosses appear you will need to check and modify the settings as required. A simple check is made to establish if the binaries exist at the given paths. A tick or a cross is displayed alongside each as a result. Note that this does not check that the application actually works, just that it is there. Some systems supply the fonts as separate packages. If you are having problems make sure you have all the fonts you need installed. You may need to track down an 'extra' fonts package to get the required maths fonts. LaTeX preamble Enables the LaTeX preamble to be specified. The default should work for most users, but you may need to change it to support non-Latin character sets etc. Please see the LaTeX documentation for further details. Transparent colour This should be set to your normal text background colour. The default setting is #FFFFFF (i.e., white). Density This setting effects the size of the resulting image. The default setting is 120 pixels, and it produces an image of reasonable quality, but for some complicated equations, this still may not be enough. It may be that anything less is not going to produce an image of sufficient quality but the image size can be controlled by the TeX encoding when the page is rendered. Path of latex binary Path to standard latex binary. On Unix based systems it is normally "/usr/bin/latex". On a MacOS X, the path is "/usr/texbin/". In Windows, using MiKTeX, it is usually something like C:\texmf\miktex\bin\latex.exe Path of dvips binary Path to standard dvips binary - generally distributed as part of a LaTeX system. On Unix based systems it is normally "/usr/bin/dvips". On a MacOS X, the path is "/usr/texbin/". On Windows using MikTeX is usually something like C:\texmf\miktex\bin\dvips.exe Path of convert binary Path to standard convert binary. It is necessary to produce GIF or PNG images from using the latex and dvips binaries. This is distributed as part of the Ghostscript system, or ImageMagick in Linux. On Unix based systems it is normally "/usr/bin/convert". On a MacOS X, the path is "/usr/local/bin/". On a Windows-based PC the path is something like C:\Program Files\ImageMagick\convert.exe (for ImageMagick, but something else for GhostScript.) Path of dvisvgm binary This binary is used instead of convert to produce SVG images. This is distributed as part of TeXlive on Linux although it may be require the full or extra packages to be installed. On Unix based systems it is normally "/usr/bin/dvisvgm". On a Windows-based PC a compiled binary is available from sourceforge and can placed in the same directory with the latex binary. Path of mimetex binary If this is blank and the binaries above are missing or fail, the TeX filter will attempt to use a mimetex binary distributed with Moodle. If you have installed mimetex on the server and would rather use it include the path here. Debugging TeX filter The TeX filter has a debugging script (which will be much more helpful if you turn on Debugging) included that should help if you are having problems. The URL will be as follows... http://your.moodle.path/filter/tex/texdebug.php You can either enter this path explicitly or with appropriate role permissions the TeX images (or more likely incorrectly rendered text, if you need debugging) will link to this. On more recent versions of Moodle you are required to be logged in as an Administrator to access this facility. See also TeX Filter Glossary - a glossary you can add to your course which details usage of the supported TeX notation. LaTeX - the LaTeX document preparation system. ghostscript - required to render the image MimeTeX Manual - Default TeX notation manual MikTeX - LaTeX for Windows systems ImageMagick - required to render images for Windows Using TeX Notation Advanced Maths Tools for Moodle 2.x - SEE - The Next Generation of TeX Tools Mathematics tools forum on moodle.org Source: docs.moodle.org/503/en/TeX filter — MoodleDocs (GPL) · Imported 2026-11-10. TeX notation The TeX Filter is a core Moodle filter intended to allow one to convert tex expressions into GIF, PNG or SVG images. The filter relies on some additional binaries to accomplish this for expressions contained between appropriate tokens. Where these binaries are not available, Moodle provides for a fallback through the use of Mimetex. Versions of MimeTex for Linux (glib2.3 32bit), Windows, Mac OS X and FreeBSD are included in the Moodle distribution. There are other technologies available for displaying Tex (see the section on Mathematics tools for a discussion.) Note: being based on binaries it requires the availability of three PHP program execution functions: exec, shell_exec and system. 1 Methods and Usage 2 MimeTeX 3 Compatability with MathJax 4 Site administration settings 4.1 Installing the binaries 4.2 LaTeX preamble 4.3 Transparent colour 4.4 Density 4.5 Path of latex binary 4.6 Path of dvips binary 4.7 Path of convert binary 4.8 Path of dvisvgm binary 4.9 Path of mimetex binary 5 Debugging TeX filter 6 See also Methods and Usage To avoid confusion you should note that the TeX filter has two separate methods for converting the TeX notation to images. The preferred method is a collection of three binaries that you are responsible for installing (if they are not already present, though many webhosts make these available) and configuring on your server. The filter settings page relates entirely to this method. If this fails for any reason the filter will fall back to a single binary - MimeTeX. A number of different builds are included in the Moodle distribution for popular operating systems, though Mimetex and its bigger brother, MathTex are easy enough to compile and install if you have systems administration experience. Before doing anything else, you need to go to Settings > Site administration > Plugins > Filters and activate the TeX Notation Filter. If you want to use the Algebra filter (another core filter) since the Algebra Filter is really only a "front end" to the Tex filter, you should also turn on the Algebra filter. For more information on the Algebra Filter see the Algebra filter. Once the filter is turned on and properly configured you can make use of it by including a TeX expression delimited by double-dollar signs. Example: $$ \sqrt{x + y} $$ If this does not display properly, see the information on debugging. MimeTeX Moodle may use a pre-built MimeTeX binary (located in the filters/tex directory) as a fallback if it can't properly access dvips, convert and latex binaries. There are a number of different versions for different operating systems. The TeX filter picks the appropriate binary for the detected host operating system (you will need to hack the script if your operating system is not included). Note that your web server needs to be set up with appropriate permissions for running binaries in that location. The MimeTeX manual is available but is arguably intended for persons with systems administration experience and does not specifically address the Moodle environment. You should only use MimeTeX if installing the full LaTeX system fails or the binaries are not available on your system. The results are not nearly as good. Compatability with MathJax In Moodle 2.8 onwards, the TeX Notation and MathJaxloader filter may be used in combination. If both filters are enabled on the page, images will be displayed first by the TeX notation filter, and the MathJax version of the TeX expression will replace a little while later when MathJax has finished loading and processing. If both filters are available, a teacher may decide which to use in an activity by enabling one and disabling the other. Site administration settings Location: TeX Notation settings link in Settings > Site administration > Plugins > Filters > Manage filters The TeX filter settings page are primarily intended to adjust the operation of the LaTeX renderer. The defaults for the three path settings are selected according to the detection of the operating system on which Moodle is running. These are simply suggested common values - Moodle does not check that the binaries actually exist at these locations. More recent versions of Moodle show a green tick or a red cross next to the path setting - this shows that the binary exists at that location (only). The settings have no effect on the operation of the MimeTex binary (used if any of these binaries are not found). Installing the binaries This depends on your platform, but for a typical install you are going to need a LaTeX implementation. On modern Linux implementations you should look for the 'texlive' package (e.g. apt-get install texlive) although a Windows version is available (see Tex Live). It is highly unlikely that you will have all these binaries as part of a standard install. If you cannot find texlive you may have to install LaTeX, Ghostscript and ImageMagick separately. While not endorsed by Moodle.org, a simple installation binary for Windows is MikTeX. For security reasons, you should ensure shell escape is disabled (shell_escape = f) in your LaTeX configuration (if is enabled, this will be set to "t"). This is to prevent the risk of users being able to execute external commands. Note that this is usually disabled by default. (If this is set to "p" i.e. restricted mode, a predefined set of commands are allowed, if this is the desired behaviour, be extremely careful which commands are allowed given all users will have access to these). The filter settings page will try to guess the most likely location for the binary files depending on the detected platform. If correct, green ticks will appear against each setting. If red crosses appear you will need to check and modify the settings as required. A simple check is made to establish if the binaries exist at the given paths. A tick or a cross is displayed alongside each as a result. Note that this does not check that the application actually works, just that it is there. Some systems supply the fonts as separate packages. If you are having problems make sure you have all the fonts you need installed. You may need to track down an 'extra' fonts package to get the required maths fonts. LaTeX preamble Enables the LaTeX preamble to be specified. The default should work for most users, but you may need to change it to support non-Latin character sets etc. Please see the LaTeX documentation for further details. Transparent colour This should be set to your normal text background colour. The default setting is #FFFFFF (i.e., white). Density This setting effects the size of the resulting image. The default setting is 120 pixels, and it produces an image of reasonable quality, but for some complicated equations, this still may not be enough. It may be that anything less is not going to produce an image of sufficient quality but the image size can be controlled by the TeX encoding when the page is rendered. Path of latex binary Path to standard latex binary. On Unix based systems it is normally "/usr/bin/latex". On a MacOS X, the path is "/usr/texbin/". In Windows, using MiKTeX, it is usually something like C:\texmf\miktex\bin\latex.exe Path of dvips binary Path to standard dvips binary - generally distributed as part of a LaTeX system. On Unix based systems it is normally "/usr/bin/dvips". On a MacOS X, the path is "/usr/texbin/". On Windows using MikTeX is usually something like C:\texmf\miktex\bin\dvips.exe Path of convert binary Path to standard convert binary. It is necessary to produce GIF or PNG images from using the latex and dvips binaries. This is distributed as part of the Ghostscript system, or ImageMagick in Linux. On Unix based systems it is normally "/usr/bin/convert". On a MacOS X, the path is "/usr/local/bin/". On a Windows-based PC the path is something like C:\Program Files\ImageMagick\convert.exe (for ImageMagick, but something else for GhostScript.) Path of dvisvgm binary This binary is used instead of convert to produce SVG images. This is distributed as part of TeXlive on Linux although it may be require the full or extra packages to be installed. On Unix based systems it is normally "/usr/bin/dvisvgm". On a Windows-based PC a compiled binary is available from sourceforge and can placed in the same directory with the latex binary. Path of mimetex binary If this is blank and the binaries above are missing or fail, the TeX filter will attempt to use a mimetex binary distributed with Moodle. If you have installed mimetex on the server and would rather use it include the path here. Debugging TeX filter The TeX filter has a debugging script (which will be much more helpful if you turn on Debugging) included that should help if you are having problems. The URL will be as follows... http://your.moodle.path/filter/tex/texdebug.php You can either enter this path explicitly or with appropriate role permissions the TeX images (or more likely incorrectly rendered text, if you need debugging) will link to this. On more recent versions of Moodle you are required to be logged in as an Administrator to access this facility. See also TeX Filter Glossary - a glossary you can add to your course which details usage of the supported TeX notation. LaTeX - the LaTeX document preparation system. ghostscript - required to render the image MimeTeX Manual - Default TeX notation manual MikTeX - LaTeX for Windows systems ImageMagick - required to render images for Windows Using TeX Notation Advanced Maths Tools for Moodle 2.x - SEE - The Next Generation of TeX Tools Mathematics tools forum on moodle.org Source: docs.moodle.org/503/en/TeX notation — MoodleDocs (GPL) · Imported 2026-11-10. TeX notation filter The TeX Filter is a core Moodle filter intended to allow one to convert tex expressions into GIF, PNG or SVG images. The filter relies on some additional binaries to accomplish this for expressions contained between appropriate tokens. Where these binaries are not available, Moodle provides for a fallback through the use of Mimetex. Versions of MimeTex for Linux (glib2.3 32bit), Windows, Mac OS X and FreeBSD are included in the Moodle distribution. There are other technologies available for displaying Tex (see the section on Mathematics tools for a discussion.) Note: being based on binaries it requires the availability of three PHP program execution functions: exec, shell_exec and system. 1 Methods and Usage 2 MimeTeX 3 Compatability with MathJax 4 Site administration settings 4.1 Installing the binaries 4.2 LaTeX preamble 4.3 Transparent colour 4.4 Density 4.5 Path of latex binary 4.6 Path of dvips binary 4.7 Path of convert binary 4.8 Path of dvisvgm binary 4.9 Path of mimetex binary 5 Debugging TeX filter 6 See also Methods and Usage To avoid confusion you should note that the TeX filter has two separate methods for converting the TeX notation to images. The preferred method is a collection of three binaries that you are responsible for installing (if they are not already present, though many webhosts make these available) and configuring on your server. The filter settings page relates entirely to this method. If this fails for any reason the filter will fall back to a single binary - MimeTeX. A number of different builds are included in the Moodle distribution for popular operating systems, though Mimetex and its bigger brother, MathTex are easy enough to compile and install if you have systems administration experience. Before doing anything else, you need to go to Settings > Site administration > Plugins > Filters and activate the TeX Notation Filter. If you want to use the Algebra filter (another core filter) since the Algebra Filter is really only a "front end" to the Tex filter, you should also turn on the Algebra filter. For more information on the Algebra Filter see the Algebra filter. Once the filter is turned on and properly configured you can make use of it by including a TeX expression delimited by double-dollar signs. Example: $$ \sqrt{x + y} $$ If this does not display properly, see the information on debugging. MimeTeX Moodle may use a pre-built MimeTeX binary (located in the filters/tex directory) as a fallback if it can't properly access dvips, convert and latex binaries. There are a number of different versions for different operating systems. The TeX filter picks the appropriate binary for the detected host operating system (you will need to hack the script if your operating system is not included). Note that your web server needs to be set up with appropriate permissions for running binaries in that location. The MimeTeX manual is available but is arguably intended for persons with systems administration experience and does not specifically address the Moodle environment. You should only use MimeTeX if installing the full LaTeX system fails or the binaries are not available on your system. The results are not nearly as good. Compatability with MathJax In Moodle 2.8 onwards, the TeX Notation and MathJaxloader filter may be used in combination. If both filters are enabled on the page, images will be displayed first by the TeX notation filter, and the MathJax version of the TeX expression will replace a little while later when MathJax has finished loading and processing. If both filters are available, a teacher may decide which to use in an activity by enabling one and disabling the other. Site administration settings Location: TeX Notation settings link in Settings > Site administration > Plugins > Filters > Manage filters The TeX filter settings page are primarily intended to adjust the operation of the LaTeX renderer. The defaults for the three path settings are selected according to the detection of the operating system on which Moodle is running. These are simply suggested common values - Moodle does not check that the binaries actually exist at these locations. More recent versions of Moodle show a green tick or a red cross next to the path setting - this shows that the binary exists at that location (only). The settings have no effect on the operation of the MimeTex binary (used if any of these binaries are not found). Installing the binaries This depends on your platform, but for a typical install you are going to need a LaTeX implementation. On modern Linux implementations you should look for the 'texlive' package (e.g. apt-get install texlive) although a Windows version is available (see Tex Live). It is highly unlikely that you will have all these binaries as part of a standard install. If you cannot find texlive you may have to install LaTeX, Ghostscript and ImageMagick separately. While not endorsed by Moodle.org, a simple installation binary for Windows is MikTeX. For security reasons, you should ensure shell escape is disabled (shell_escape = f) in your LaTeX configuration (if is enabled, this will be set to "t"). This is to prevent the risk of users being able to execute external commands. Note that this is usually disabled by default. (If this is set to "p" i.e. restricted mode, a predefined set of commands are allowed, if this is the desired behaviour, be extremely careful which commands are allowed given all users will have access to these). The filter settings page will try to guess the most likely location for the binary files depending on the detected platform. If correct, green ticks will appear against each setting. If red crosses appear you will need to check and modify the settings as required. A simple check is made to establish if the binaries exist at the given paths. A tick or a cross is displayed alongside each as a result. Note that this does not check that the application actually works, just that it is there. Some systems supply the fonts as separate packages. If you are having problems make sure you have all the fonts you need installed. You may need to track down an 'extra' fonts package to get the required maths fonts. LaTeX preamble Enables the LaTeX preamble to be specified. The default should work for most users, but you may need to change it to support non-Latin character sets etc. Please see the LaTeX documentation for further details. Transparent colour This should be set to your normal text background colour. The default setting is #FFFFFF (i.e., white). Density This setting effects the size of the resulting image. The default setting is 120 pixels, and it produces an image of reasonable quality, but for some complicated equations, this still may not be enough. It may be that anything less is not going to produce an image of sufficient quality but the image size can be controlled by the TeX encoding when the page is rendered. Path of latex binary Path to standard latex binary. On Unix based systems it is normally "/usr/bin/latex". On a MacOS X, the path is "/usr/texbin/". In Windows, using MiKTeX, it is usually something like C:\texmf\miktex\bin\latex.exe Path of dvips binary Path to standard dvips binary - generally distributed as part of a LaTeX system. On Unix based systems it is normally "/usr/bin/dvips". On a MacOS X, the path is "/usr/texbin/". On Windows using MikTeX is usually something like C:\texmf\miktex\bin\dvips.exe Path of convert binary Path to standard convert binary. It is necessary to produce GIF or PNG images from using the latex and dvips binaries. This is distributed as part of the Ghostscript system, or ImageMagick in Linux. On Unix based systems it is normally "/usr/bin/convert". On a MacOS X, the path is "/usr/local/bin/". On a Windows-based PC the path is something like C:\Program Files\ImageMagick\convert.exe (for ImageMagick, but something else for GhostScript.) Path of dvisvgm binary This binary is used instead of convert to produce SVG images. This is distributed as part of TeXlive on Linux although it may be require the full or extra packages to be installed. On Unix based systems it is normally "/usr/bin/dvisvgm". On a Windows-based PC a compiled binary is available from sourceforge and can placed in the same directory with the latex binary. Path of mimetex binary If this is blank and the binaries above are missing or fail, the TeX filter will attempt to use a mimetex binary distributed with Moodle. If you have installed mimetex on the server and would rather use it include the path here. Debugging TeX filter The TeX filter has a debugging script (which will be much more helpful if you turn on Debugging) included that should help if you are having problems. The URL will be as follows... http://your.moodle.path/filter/tex/texdebug.php You can either enter this path explicitly or with appropriate role permissions the TeX images (or more likely incorrectly rendered text, if you need debugging) will link to this. On more recent versions of Moodle you are required to be logged in as an Administrator to access this facility. See also TeX Filter Glossary - a glossary you can add to your course which details usage of the supported TeX notation. LaTeX - the LaTeX document preparation system. ghostscript - required to render the image MimeTeX Manual - Default TeX notation manual MikTeX - LaTeX for Windows systems ImageMagick - required to render images for Windows Using TeX Notation Advanced Maths Tools for Moodle 2.x - SEE - The Next Generation of TeX Tools Mathematics tools forum on moodle.org Source: docs.moodle.org/503/en/TeX notation filter — MoodleDocs (GPL) · Imported 2026-11-10. Text filters Filters can be used to add links, insert multimedia players, convert Mathematical expressions or emoticons into images and more. A filter may be enabled at the site level and then removed as needed at the course or activity level. Thus a teacher can disable glossary auto-linking in a quiz for example. Load video YouTube YouTube might collect personal data. Privacy Policy Overview of course filters Standard filters Filters in Moodle include: Activity names auto-linking - Scans course text for activity titles that exist in the same course and creates a link to them Algebra notation - Convert algebra code into images Code highlighter filter - adds colour to code in the TinyMCE editor. Convert URLs into links and images - Converts URLs in selected formats, such as Moodle auto-format, to click-able links Database auto-linking - Enables automatic linking of course Database activity entries Display emoticons as images - Converts textual emoticon (smiley) characters into images Email protection - Obfuscates email address links to make them more difficult for spammers to harvest Glossary auto-linking - Scans text for glossary entries that exist in the same course and creates a link MathJax - For adding mathematical equations and expressions using an equation editor Multimedia plugins - Converts HTML links in text that points to a multimedia resource and replaces the link with an appropriate multimedia players Multi-Language content - Enables resources to be created in multiple languages TeX notation Displaying math formulae in TeX notation using images Word censorship - This filter "blacks out" words found on a list you can manage Contributed filters Filters have also been made by developers in the community. Some docs online for these include: FontAwesome - This scans text for icons that can be embedded using the FontAwesome icon set. IPA - Renders simple X-SAMPA markup in the International Phonetic Alphabet PoodLL - is the core PoodLL plugin for Moodle. It contains all the recorders, widgets and the code that makes it possible to use them around Moodle. It is a required component for all the other PoodLL plugins. filter generico - gives you considerable ability to customize your Moodle site without having to resort to multiple plugins, or custom PHP coding filter multiembed - Facilitates embedding of third-party content from a growing list of service providers (e.g. Prezi, Haiku Deck, etc.) See also Managing filters Common filter settings for the site Filters FAQ Source: docs.moodle.org/503/en/Text filters — MoodleDocs (GPL) · Imported 2026-11-10. Turnitin This page requires a review. Please do so and remove this template when finished. Turnitin is a commercial plagiarism detection system which requires a paid subscription to use - there are currently 3 different options available to use Turnitin in Moodle 2.0. 1 Plagiarism Plugin 2 Moodle Direct Plugin 3 Moodle Basic Plugin 4 See also Plagiarism Plugin A Plagiarism Prevention plugin written by Dan Marsden from Catalyst IT which allows existing Modules to "call" the plagiarism service. It has been added to the upload and uploadsingle assignment types, but eventually support will be added to other Moodle modules. This is a generic plugin system and other Plagiarism products are also available preventing an institution from being "locked in" to a Plagiarism Tool vendor. NOTE: this plugin will be deprecated by a new plugin currently under development - see future-of-moodle-turnitin-plugins Turnitin Installation and Settings Moodle Direct Plugin The Moodle Direct Integration was developed by nlearning Ltd (now iParadigms Europe Ltd) - This is a standalone Moodle module that is similar to the advanced assignment type, however it adds a range of Turnitin specific functionality. The current version is available from [Modules and Plugins]. The key aim of the development is to represent all features of Turnitin within the Moodle workflow as and when they become exposed through the Turnitin API. The Direct Plugin works on the principle of mapping a Turnitin Assignment in Moodle with an assignment in Turnitin, once mapped all submissions made on either side are synchronised reflecting any changes on both platforms. It is therefore possible to access the assignments created using the plugin by logging in to either system. There is the option to disable emails sent out to students which means login details and welcome emails are not sent which encourages students to submit only through Moodle. GradeMark grades are represented in the Moodle gradebook and originality scores are displayed in the Moodle Turnitin Assignment Inbox. For more detail see: http://moodle.org/mod/forum/discuss.php?d=149575 Moodle Basic Plugin This is an assignment type plugin (support for this may be dropped in 2.3 as the assignment module is planned for a rewrite) it just provides Single Sign on to the turnitin.com website keeping moodle in a frame at the top. See also Turnitin Plugins for older Moodle versions Turnitin Error states Source: docs.moodle.org/503/en/Turnitin — MoodleDocs (GPL) · Imported 2026-11-10. Turnitin FAQ What is plagiarism? Plagiarism is the practice of taking someone else's work or ideas and passing them off as your own. These days the internet is a frequent source of plagiarism by students. How can I stop my students sending me work they have copied from the internet? Education is by far the best long term prevention method! In the meantime, Moodle has some plugins which may be added to your site which will detect when students have copied work from online sources. See Managing plagiarism prevention for some suggestions. Source: docs.moodle.org/503/en/Turnitin FAQ — MoodleDocs (GPL) · Imported 2026-11-10. Turnitin administration This page requires a review. Please do so and remove this template when finished. Turnitin is a commercial plagiarism detection system which requires a paid subscription to use - there are currently 3 different options available to use Turnitin in Moodle 2.0. 1 Plagiarism Plugin 2 Moodle Direct Plugin 3 Moodle Basic Plugin 4 See also Plagiarism Plugin A Plagiarism Prevention plugin written by Dan Marsden from Catalyst IT which allows existing Modules to "call" the plagiarism service. It has been added to the upload and uploadsingle assignment types, but eventually support will be added to other Moodle modules. This is a generic plugin system and other Plagiarism products are also available preventing an institution from being "locked in" to a Plagiarism Tool vendor. NOTE: this plugin will be deprecated by a new plugin currently under development - see future-of-moodle-turnitin-plugins Turnitin Installation and Settings Moodle Direct Plugin The Moodle Direct Integration was developed by nlearning Ltd (now iParadigms Europe Ltd) - This is a standalone Moodle module that is similar to the advanced assignment type, however it adds a range of Turnitin specific functionality. The current version is available from [Modules and Plugins]. The key aim of the development is to represent all features of Turnitin within the Moodle workflow as and when they become exposed through the Turnitin API. The Direct Plugin works on the principle of mapping a Turnitin Assignment in Moodle with an assignment in Turnitin, once mapped all submissions made on either side are synchronised reflecting any changes on both platforms. It is therefore possible to access the assignments created using the plugin by logging in to either system. There is the option to disable emails sent out to students which means login details and welcome emails are not sent which encourages students to submit only through Moodle. GradeMark grades are represented in the Moodle gradebook and originality scores are displayed in the Moodle Turnitin Assignment Inbox. For more detail see: http://moodle.org/mod/forum/discuss.php?d=149575 Moodle Basic Plugin This is an assignment type plugin (support for this may be dropped in 2.3 as the assignment module is planned for a rewrite) it just provides Single Sign on to the turnitin.com website keeping moodle in a frame at the top. See also Turnitin Plugins for older Moodle versions Turnitin Error states Source: docs.moodle.org/503/en/Turnitin administration — MoodleDocs (GPL) · Imported 2026-11-10. URL downloader repository The URL downloader repository enables users to enter the URL of an image (any type e.g. png, jpg) for copying into Moodle. It may also be used to obtain all images from a web page by entering the web page address. It's useful when you need to get a larger file to your course, as you don't need to save the file on your computer then upload it to Moodle - instead you simply ask Moodle to fetch it directly. Searching the URL downloader The search results Repository capabilities There is just one capability, Use URL downloader in file picker, which is allowed for the default authenticated user role. Source: docs.moodle.org/503/en/URL downloader repository — MoodleDocs (GPL) · Imported 2026-11-10. Universal Office Converter (unoconv) Note: Unoconv is deprecated. There is rewrite of Unoconv called "Unoserver" but Moodle does not currently support it. See MDL-75066 1 What is unoconv? 2 Installing unoconv on Linux 2.1 Ubuntu 18.04 LTS 2.2 Ubuntu 22.04 LTS 2.3 Ubuntu 16.04 LTS 2.4 Ubuntu 14.04 LTS 2.5 CentOS / RedHat 3 Installing unoconv on OS X 4 Installing unoconv on Windows 5 Run a unoconv listener 6 Offload processing to a different server 7 Additional resources 8 See also What is unoconv? "unoconv" is a command line program that is used to convert between different office document file formats. It uses an instance of LibreOffice to do the conversion and is used by the Assignment activity to convert documents to pdf so that they can be annotated. If unoconv is not installed - the only impact is that the assignment activities will only allow annotations when students upload a pdf document. The steps required to install unoconv are different depending on the operating system that you have installed Moodle on. Installing unoconv on Linux The required version of unoconv is at least 0.7. Depending on your flavour of linux, this may be available in your package manager and you can install it directly with: Ubuntu 18.04 LTS apt-get install unoconv mkdir /var/www/.config chown www-data:www-data /var/www/.config Ubuntu 22.04 LTS You will need to install Python 3, and note that the unoconv will only support Python up to 3.11. sudo apt install python3 To download the latest version of unoconv (0.8.2): cd /opt sudo git clone https://github.com/unoconv/unoconv.git sudo nano /opt/unoconv/unoconv Change the first line of code by adding the number 3 to the Python version, as per the example below: #!/usr/bin/env python3 Permissions and run link: sudo chmod ugo+x /opt/unoconv/unoconv sudo ln -s /opt/unoconv/unoconv /usr/bin/ Now we need LibreOffice installed: sudo add-apt-repository ppa:libreoffice/ppa sudo apt install libreoffice -y Production servers should consider running unoconv in listener mode, see Installing unoconv#Run a unoconv listener or follow directions below: sudo nano /etc/systemd/system/unoconv.service And then copy and paste the following configuration into it: [Unit] Description=Unoconv listener for document conversions Documentation=https://github.com/dagwieers/unoconv After=network.target remote-fs.target nss-lookup.target [Service] Type=simple ExecStart=/usr/bin/unoconv --listener [Install] WantedBy=multi-user.target And then enable and start the above service: sudo systemctl enable unoconv.service sudo systemctl start unoconv.service Ubuntu 16.04 LTS apt-get install unoconv If your package manager contains an older version of the package, you will have to find a newer version and install it manually (Debian Testing). Unoconv itself is just a python script, so it has few dependencies. Potential problems: On some systems the apache user home directory is set to a non existent folder. This can cause unoconv to fail. There are 2 solutions to this - one is to make a (writable) home directory for the apache user (like /home/www-data). The other is to run a unoconv listener (described below) as another user other than the apache user (someone with a valid, writable home directory). If you are still running 14.04LTS then unoconv won't work as shipped. This might not be the most efficient route but it worked by first installing unoconv (version 0.6) from the package manager as above. You will then need to grab unoconv 0.7 from Github (https://github.com/dagwieers/unoconv), then upgrade to the latest libreoffice using the PPA (https://launchpad.net/~libreoffice/+archive/ubuntu/ppa). Point moodle at the Github version of unoconv. You need to modify the Python unoconv file by changing 'python' in the first line to 'python3'. You also need to change the permissions on the directory /var/www so that the user www-data can write to it (www-data needs to write to its home directory which it cannot do by default). On Debian Stable, the cleanest method to install unoconv is using Jessie-backports. First, enable backports repo line in /etc/apt/sources.list: #### Jessie-backports #### deb http://ftp.debian.org/debian jessie-backports main Then, update and install unoconv from jessie-backports: apt-get update apt-get install -t jessie-backports unoconv The package will bring all necessary dependencies for you. Ubuntu 14.04 LTS 1) Navigate to opt directory cd /opt 2) Download unoconv sudo wget https://raw.githubusercontent.com/dagwieers/unoconv/master/unoconv 3) Modify the Python unoconv file by changing 'python' in the first line to 'python3' sudo nano /opt/unoconv e.g. #!/usr/bin/env python3 4) Make unoconv executable sudo chmod ugo+x /opt/unoconv 5) Add LibreOffice PPA to your system and install the latest version sudo add-apt-repository ppa:libreoffice/ppa sudo apt-get update sudo apt-get install libreoffice 6) Change permissions so apache can write to its home directory sudo chown www-data /var/www 7) From your browser navigate to Site administration > Server > System paths and add the path to unoconv /opt/unoconv Note: if you would like to preserve the default path add a symbolic link to /usr/bin: sudo ln -s /opt/unoconv /usr/bin/ 8) Navigate to Site administration > Plugins > Activity modules > Assignment > Feedback plugins > Annotate PDF > Test unoconv path You should see: "The unoconv path appears to be properly configured." Download the converted pdf test file. (if the PDF fails to load ensure that www-data can write to its home directory: /var/www) CentOS / RedHat Just before you start, you might like to consider installing the latest LibreOffice 6.3.2 directly from RPM packages, that are not part of the distribution you are using. As of nov-2016, CentOS and RedHat 7.2 comes with OpenOffice 4.3 . so if you are not interested in using this version and would like to install latest 6.3 independent LibreOffice 6.3, please remove any openoffice packages you might have on your OS by issuing: yum remove openoffice* libreoffice* It is recommended to chose your localized libreoffice version for better document conversions. yum install libreoffice libreoffice-pyuno git clone https://github.com/dagwieers/unoconv.git # copy cp unoconv/unoconv /usr/bin # or link unoconv to /usr/bin ln -s unoconv/unoconv /usr/bin/unoconv Note: depends on what version you are installing, openoffice or libreoffice, make sure you installed the *-pyuno package. (the headless package is already compiled into the core) Make sure it is properly configured: http://your-moodle/admin/search.php?query=unoconv Production servers should consider running unoconv in listener mode, see Installing unoconv#Run a unoconv listener or follow directions bellow vi /etc/systemd/system/unoconv.service And then copy and paste the following configuration into it: [Unit] Description=Unoconv listener for document conversions Documentation=https://github.com/dagwieers/unoconv After=network.target remote-fs.target nss-lookup.target [Service] Type=simple Environment="UNO_PATH=/usr/lib64/libreoffice/program" ExecStart=/usr/bin/unoconv --listener [Install] WantedBy=multi-user.target And then enable and start the above service systemctl enable unoconv.service systemctl start unoconv.service If your selinux is enable yous should set #setsebool -P httpd_execmem on Installing unoconv on OS X Download and install LibreOffice for Mac. Unfortunately - newer versions of LibreOffice are not currently compatible with unoconv for mac and you will have to install LibreOffice 4.2 (Direct download link - https://downloadarchive.documentfoundation.org/libreoffice/old/4.2.5.2/mac/x86_64/LibreOffice_4.2.5.2_MacOS_x86-64.dmg). Get the latest version of the unoconv python script. One way to do this is with http://brew.sh/ brew. brew install unoconv If you haven't done it already - install ghostscript. One way to install ghostscript is also with http://brew.sh/ brew brew install ghostscript Set the paths to unoconv and ghostscript in Moodle (Site administration > Server > System paths). If you used brew, they will both be installed to /usr/local/bin. LibreOffice needs write access to the current users home directory to create some temporary files. When unoconv is run as the webserver user (_www) it does not normally have this permission. There are some ways to get around this - one way is just to give the "_www" user write access to /Library/WebServer. Another solution is to convince LibreOffice that this users home directory is somewhere else. This can be done by inserting this code into the top of the unoconv python script. Code to insert: # Set home to a writable folder. os.environ['HOME'] = '/tmp/' This needs to be inserted at line 36 immediately after the line "exitcode = 0" Installing unoconv on Windows Download and install LibreOffice for Windows. Open Office will work just as well, but the documentation for unonconv is set to Libre Office. Download the latest version of the unoconv script from https://github.com/dagwieers/unoconv/releases (download the zip version). From the downloaded zip file - extract the one file unoconv-0.7\unoconv (no file extension). This is the unoconv script - none of the other files in the package are required. Rename the downloaded script to unoconv.py and copy it to a folder in either C:\Program Files or C:\Program Files (x86). Create a batch file in the same folder as unoconv.py name it something like unoconv.bat, it must be a batch file, with these contents: @"C:\Program Files\LibreOffice\program\python.exe" c:\unoconv\unoconv.py %* or: @"C:\Program Files\OpenOffice\program\python.exe" c:\unoconv\unoconv.py %* Next, you have to Set paths in Moodle. Login as admin and go to Site administration > Server > System paths Set: Path to Ghostscript (pathtogs) to C:\Program Files\gs\gsversion\bin\gswin64c.exe. Do not use gswin32.exe or gswin64.exe, these are not command line programs - use gswin32c.exe or gswin64c.exe. Set: Path to Python (pathtopython) to C:\Program Files (x86)\OpenOffice\program\python.exe or C:\Program Files (x86)\LibreOffice\program\python.exe. Identify in the path whichever program you use and include the full exe name for both Ghostscript and Python. Save the pathto statements and a green tick should appear if Moodle is communicating with the required files. Go to Site administration > Plugins > Document converters and enable Unoconv then select Settings Enter the path statement to Path to unoconv document converter: C:\Program Files (x86)\unoconv\unoconv.bat. Include the full name of the .bat file. Test ghostscript and unoconv are working correctly in the admin test pages Site administration > Plugins > Activity modules > Assignment > Feedback plugins > Annotate PDF. Run a unoconv listener Unoconv utilises a client/server process when converting documents. By default, when there is no running server process - each time unoconv runs it will start a server process, send its request and shut down the server process when the request is complete. The drawback of this mode is that if 2 requests are submitted simultaneously - this can cause the first request to shutdown the server process when the second request is still in progress - and the second conversion request fails. A more robust way to configure unoconv is to start a server process at boot time, and/or run a script to monitor it and restart it if it crashes. To start a unoconv listener at boot time - you need a start up script. Different operating systems and Linux distributions use different startup scripts - but here are some examples of startup scripts for different systems. Upstart script for Ubuntu based systems Launchd script for OS X Init script for Debian Init script for CentOS/RedHat 6.x SystemD service script for CentOS/RedHat 7.x Offload processing to a different server Processing office documents can put increased load on your webserver, which may impact on the responsiveness of your site. If you are installing unoconv on a large site you may want to consider running unoconv on a server that is not also serving web requests. How to do this: Install unoconv on each webservers and the remote server following the installation instructions above. Make sure unoconv is started at boot time on the remote server with the "--listener" argument and is monitored and restarted if it exits (see Debian init script for an example of how to do this). By default, unoconv will only listen on localhost (127.0.0.1): if you want to connect to the listener process from another server, you need to start the unoconv listener process with the "--server" argument too! An example command for starting a listener on a remote server (0.0.0.0 listens on all interfaces): unoconv --listener --server 0.0.0.0 --port 2002 Open the firewall port 2002 between the moodle webservers and the machine running unoconv. Share the moodle data root between the webservers and the machine running unoconv. This folder must be mounted at the same path on all servers. Install a wrapper for unoconv on the webservers that forwards the requests to the remote server. Example: #!/bin/bash # Wrapper script for unoconv to forward processing. # Install to /usr/bin/unoconv-remote with 755 permissions /usr/bin/unoconv --server= "$@" Configure the path to unoconv in the Moodle admin settings to point to this wrapper script. Additional resources GitHub dagwieers/unoconv has additional information on installation of unoconv and troubleshooting tips. See also Is the unoconv installation a security risk? forum discussion Source: docs.moodle.org/503/en/Universal Office Converter (unoconv) — MoodleDocs (GPL) · Imported 2026-11-10. Upload a file The Upload a file repository enables users to browse and upload files from their computer into Moodle. Recently uploaded files may be accessed by clicking on the recent files link in the file picker. Repository capabilities There is just one capability, Use uploading in file picker, which is allowed for the default authenticated user role. Source: docs.moodle.org/503/en/Upload a file — MoodleDocs (GPL) · Imported 2026-11-10. Upload a file repository The Upload a file repository enables users to browse and upload files from their computer into Moodle. Recently uploaded files may be accessed by clicking on the recent files link in the file picker. Repository capabilities There is just one capability, Use uploading in file picker, which is allowed for the default authenticated user role. Source: docs.moodle.org/503/en/Upload a file repository — MoodleDocs (GPL) · Imported 2026-11-10. Using External tool This page explores how to use LTI External tools in your course as activities. 1 How is it set up? 1.1 General 1.1.1 Content 1.1.2 Display activity name when students access the tool 1.1.3 Display activity description when students access the tool 1.1.4 Grade 1.1.5 Other settings 2 Using an LTI External tool as an activity 3 See also How is it set up? To create an activity using an LTI External tool, go to the Course page and turn on Edit mode. Click either the link ‘Add an activity or resource’ at the bottom of each section, or click anywhere on the course page where you want to add your item. The Activity chooser will show; then, select the tool you want to create an activity with. If the tool you want to use is not in the Activity chooser, you need to toggle the 'Show in activity chooser' option in the table in Course page > More > LTI External tools. This page is also where you can see all LTI External tools available in your course. For more information, see Managing LTI External tools. Once you select the tool in the Activity chooser, you can continue with activity creation and select the settings you'd like. General Content If you're using a tool that supports deep linking, you will see a 'Select content' button on top of the activity form. Use this button to select which specific content from the tool you want to use in your activity. Once you select content, the Activity name and Activity description might be automatically populated by the tool. If not, give your activity a name and, optionally, a description. Display activity name when students access the tool You will only see this setting if your site uses the Classic theme and, in the tool settings, the tool’s content display has been configured as ‘Embed’ or ‘Embed, without blocks’. This setting determines whether the activity name is displayed on the screen once your students access it. Display activity description when students access the tool You will only see this setting if, in the tool settings, the tool’s content display has been configured as ‘Embed’ or ‘Embed, without blocks’. This setting determines whether the activity description is displayed on the screen once your students access it. Grade Your activity will only have a Grade section if the tool it is using has been given permission to write grades in the gradebook. In activities created using LTI External Tools, the grade will always be given by the tool. You might have the option to completely deactivate grading for your activity if the checkbox ‘Allow tool to add grades in the gradebook’ is displayed. If you see the Grade section, but there is no checkbox  ‘Allow tool to add grades in the gradebook’, it means that your site administrator has configured the tool to always write grades in the gradebook. Other settings Depending on what is enabled for your site and course, you may also need to explore Common module settings, Restrict access, Activity completion, Tags and Competencies. Using an LTI External tool as an activity When students click the tool link they are automatically signed into the connecting site/tool provider (screenshot 1 below) and can take the quiz immediately. When the student has completed the quiz, the tool provider displays their grade (screenshot 2 below) and when the student logs out of the tool provider, the grade is passed back into Moodle (screenshot 3 below). 1.Student logged directly into tool provider 2. Tool provider displays score 3. Score passed to Moodle's gradebook See also Forum discussion 1.3 External Tools adding to a course in Moodle version 4.3 Source: docs.moodle.org/503/en/Using External tool — MoodleDocs (GPL) · Imported 2026-11-10. Using MimeTeX Note: This page is a work-in-progress. Feedback and suggested improvements are welcome. Please join the discussion on moodle.org or use the . TeX (/'tɛx/tekh, often pronounced TeK in English) is a very widespread and popular way of representing Mathematics notation using only characters that you can type on a keyboard (see Wikipedia). This makes it a useful format to use in Moodle, since it can be entered anywhere you can type text, from forum posts to quiz questions. TeX expressions can be entered in multiple ways: typing them directly into texts. using the Java-based Dragmath editor in Moodle's TinyMCE editor. Afterwards, TeX expressions are rendered into Mathematics notation: using the TeX filter in Moodle, which uses a TeX binary installed on the server to convert expressions into .gif images (or if that is not available, it falls back to a simple built-in mimetex binary). using the MathJax filter which identifies TeX expressions and uses the Mathjax JS library to render them in browsers at display time (since Moodle 2.7). using other third-party solutions. As you can imagine, the whole field is not as simple as we would like, especially because there are many flavours of TeX and slight variations between tools. This page focusses only on using TeX in core Moodle. See the links at the bottom of this page for more information on setting up TeX editors and filters, including other tools from the Moodle community that may be suitable for advanced users. WARNING: This Wiki environment uses a DIFFERENT TeX renderer to Moodle, especially when it comes to control sequences. For this reason images are sometimes used to represent what it should look like in Moodle. YMMV. 1 Language Conventions 2 Equation displayed on its own line 3 Equation displayed within text 4 Reserved Characters and Keywords 5 Superscripts, Subscripts and Roots 6 Fractions 7 Brackets 8 Ellipsis 9 Symbols 10 Arrows 11 Delimiters and Maths Constructs 12 Greek Letters 13 Boolean algebra 14 Fonts 15 Size of displays 16 Colour 17 Geometric Shapes 18 Circles 19 Creating Arcs 20 The \picture Command 21 Lines 22 Squares and Rectangles 23 Controlling Angles 24 Intersecting Lines 25 Lines and Arcs 26 Triangles 27 Matrices 27.1 A Matrix 27.2 Creating equal and unequal matrices 27.3 Labeling a Matrix 27.4 Tweaking the Matrix 27.5 An Addition Matrix 27.6 A Subtraction Matrix 27.7 Multiplication Matrices 27.8 How to wrap long MathJax equations 27.9 See also Language Conventions To identify a TeX sequence in your text, surround it with $$ markers. To invoke a particular command or control sequence, use the backslash, \. A typical control sequence looks like: $$ x\ =\ \frac{\sqrt{144}}{2}\ \times\ (y\ +\ 12) $$ Fraction and square root. Additional spaces can be placed into the equation using the \ without a trailing character. Equation displayed on its own line When an equation is surrounded by a pair of $$ markers, it is displayed centered on its own line. The $$’s are primitive TeX markers. With LaTeX, it is often recommended to use the pair \[ and \] to enclose equations, rather than the $$ markers, because the newer syntax checks for mistyped equations and better adjusts vertical spacing. If the TeX Notation filter is activated, which set a LaTeX renderer, the same equation as above is obtained with the following control sequence: \[ x\ =\ \frac{\sqrt{144}}{2}\ \times\ (y\ +\ 12) \] However, if the equation is mistyped, it will be displayed enclosed in a box to signal the mistake and if the equation appears in a new paragraph, the vertical space above the equation will adjust correctly. Using \[ … \] instead of $$ … $$ may have other advantages. For example, with the Wiris equation editor installed, the Atto editor undesirably transforms the TeX code of equations enclosed with $$ into XML code, whereas it does not do so when the equations are enclosed with \[ and \]. Equation displayed within text With the TeX notation filter activated, an equation is displayed within the text when it is surrounded by the pair \( and \). For example, the following: The point \( \left( {{x}_{0}}+\frac{1}{p\left( {{x}_{0}} \right)}\ ,\ \frac{q\left( {{x}_{0}} \right)}{p\left( {{x}_{0}} \right)} \right) \) is located... will display as follows: Note that the single $ marks may not work for this purpose. Reserved Characters and Keywords Most characters and numbers on the keyboard can be used at their default value. As with any computing language, though, there are a set of reserved characters and keywords that are used by the program for its own purposes. TeX Notation is no different, but it does have a very small set of Reserved Characters. This will not be a complete list of reserved characters, but some of these are: @ # $ % ^ & * ( ) . To use these characters in an equation just place the \ in front of them like \$ or \%. If you want to use the backslash, just use \backslash. The only exception here seems to be the &, ampersand. Superscripts, Subscripts and Roots Superscripts are recorded using the caret, ^, symbol. An example for a Maths class might be: $$ 4^2 \ \times \ 4^3 \ = 4^5 $$ This is a shorthand way of saying: (4 x 4) x (4 x 4 x 4) = (4 x 4 x 4 x 4 x 4) or 16 x 64 = 1024. 4 2   ×   4 3   = 4 5 {\displaystyle 4^{2}\ \times \ 4^{3}\ =4^{5}} Subscripts are similar, but use the underscore character. $$ 3x_2 \ \times \ 2x_3 $$ 3 x 2   ×   2 x 3 {\displaystyle 3x_{2}\ \times \ 2x_{3}} This is OK if you want superscripts or subscripts, but square roots are a little different. This uses a control sequence. $$ \sqrt{64} \ = \ 8 $$ 64   =   8 {\displaystyle {\sqrt {64}}\ =\ 8} You can also take this a little further, but adding in a control character. You may ask a question like: $$ If \ \sqrt[n]{1024} \ = \ 4, \ what \ is \ the \ value \ of \ n? $$ I f   1024 n   =   4 ,   w h a t   i s   t h e   v a l u e   o f   n ? {\displaystyle If\ {\sqrt[{n}]{1024}}\ =\ 4,\ what\ is\ the\ value\ of\ n?} Using these different commands allows you to develop equations like: $$ The \sqrt{64} \ \times \ 2 \ \times \ 4^3 \ = \ 1024 $$ T h e 64   ×   2   ×   4 3   =   1024 {\displaystyle The{\sqrt {64}}\ \times \ 2\ \times \ 4^{3}\ =\ 1024} Superscripts, Subscripts and roots can also be noted in Matrices. Fractions Fractions in TeX are actually simple, as long as you remember the rules. $$ \frac{numerator}{denominator} $$ which produces n u m e r a t o r d e n o m i n a t o r {\displaystyle {\frac {numerator}{denominator}}} . This can be given as: 5 10   i s   e q u a l   t o   1 2 {\displaystyle {\frac {5}{10}}\ is\ equal\ to\ {\frac {1}{2}}} . This is entered as: $$ \frac{5}{10} \ is \ equal \ to \ \frac{1}{2}.$$ With fractions (as with other commands) the curly brackets can be nested so that for example you can implement negative exponents in fractions. As you can see, $$\frac {5^{-2}}{3}$$ will produce 5 − 2 3 {\displaystyle {\frac {5^{-2}}{3}}} $$\left(\frac{3}{4}\right)^{-3}$$ will produce ( 3 4 ) − 3 {\displaystyle \left({\frac {3}{4}}\right)^{-3}} and $$\frac{3}{4^{-3}}$$ will produce 3 4 − 3 {\displaystyle {\frac {3}{4^{-3}}}} You likely do not want to use $$\frac{3}{4}^{-3}$$ as it produces 3 4 − 3 {\displaystyle {\frac {3}{4}}^{-3}} You can also use fractions and negative exponents in Matrices. Brackets As students advance through Maths, they come into contact with brackets. Algebraic notation depends heavily on brackets. The usual keyboard values of ( and ) are useful, for example: d = 2   ×   ( 4   −   j ) {\displaystyle d=2\ \times \ (4\ -\ j)} This is written as: $$ d = 2 \ \times \ (4 \ - \ j) $$ Usually, these brackets are enough for most formulae but they will not be in some circumstances. Consider this: 4 x 3   +   ( x   +   42 1 + x 4 ) {\displaystyle 4x^{3}\ +\ (x\ +\ {\frac {42}{1+x^{4}}})} Is OK, but try it this way: 4 x 3   +   ( x   +   42 1 + x 4 ) {\displaystyle 4x^{3}\ +\ \left(x\ +\ {\frac {42}{1+x^{4}}}\right)} This can be achieved by: $$ 4x^3 \ + \ \left(x \ + \ \frac{42}{1 + x^4}\right) $$ A simple change using the \left( and \right) symbols instead. Note the actual bracket is both named and presented. Brackets are almost essential in Matrices. Ellipsis The Ellipsis is a simple code: x 1 ,   x 2 ,   … ,   x n {\displaystyle x_{1},\ x_{2},\ \ldots ,\ x_{n}} Written like: $$ x_1, \ x_2, \ \ldots, \ x_n $$ A more practical application could be: Question: "Add together all the numbers from 1 … {\displaystyle \ldots } 38. What is an elegant and simple solution to this problem? Can you create an algebraic function to explain this solution? Will your solution work for all numbers?" Answer: The question uses an even number to demonstrate a mathematical process and generate an algebraic formula. Part 1: Part 2. Part 3. 1.   1   +   38   =   39 {\displaystyle 1.\ 1\ +\ 38\ =\ 39} 2.   2   +   37   =   39 {\displaystyle 2.\ 2\ +\ 37\ =\ 39} 3.   3   +   36   =   39 {\displaystyle 3.\ 3\ +\ 36\ =\ 39} … {\displaystyle \ldots } 19.19   +   20   =   39 {\displaystyle 19.19\ +\ 20\ =\ 39} ∴ x   =   39   ×   19 {\displaystyle \therefore x\ =\ 39\ \times \ 19} ∴ x   =   741 {\displaystyle \therefore x\ =\ 741} An algebraic function might read something like: t = ( 1 + n ) × n / 2 {\displaystyle t=(1+n)\times n/2} Where t = total and n = the last number. The solution is that, using the largest and the smallest numbers, the numbers are added and then multiplied by the number of different combinations to produce the same result adding the first and last numbers. The answer must depend on the number, n 2 {\displaystyle {\frac {n}{2}}} being a whole number. Therefore, the solution will not work for an odd range of numbers, only an even range. Symbols These are not all the symbols that may be available in TeX Notation for Moodle, just the ones that I have found to work in Moodle. \amalg ⨿ {\displaystyle \amalg } \cup ∪ {\displaystyle \cup } \oplus ⊕ {\displaystyle \oplus } \times × {\displaystyle \times } \ast ∗ {\displaystyle \ast } \dagger † {\displaystyle \dagger } \oslash ⊘ {\displaystyle \oslash } \triangleleft ◃ {\displaystyle \triangleleft } \bigcirc ◯ {\displaystyle \bigcirc } \ddagger ‡ {\displaystyle \ddagger } \otimes ⊗ {\displaystyle \otimes } \triangleright ▹ {\displaystyle \triangleright } \bigtriangledown ▽ {\displaystyle \bigtriangledown } \diamond ⋄ {\displaystyle \diamond } \pm ± {\displaystyle \pm } \odot ⊙ {\displaystyle \odot } \bigtriangleup △ {\displaystyle \bigtriangleup } \div ÷ {\displaystyle \div } \ominus ⊖ {\displaystyle \ominus } \wr ≀ {\displaystyle \wr } \circ ∘ {\displaystyle \circ } \wedge ∧ {\displaystyle \wedge } \vee ∨ {\displaystyle \vee } \sqcup ⊔ {\displaystyle \sqcup } \leq ≤ {\displaystyle \leq } \geq ≥ {\displaystyle \geq } \equiv ≡ {\displaystyle \equiv } \prec ≺ {\displaystyle \prec } \succ ≻ {\displaystyle \succ } \sim ∼ {\displaystyle \sim } \perp ⊥ {\displaystyle \perp } \preceq ⪯ {\displaystyle \preceq } \succeq ⪰ {\displaystyle \succeq } \simeq ≃ {\displaystyle \simeq } \mid ∣ {\displaystyle \mid } \ll ≪ {\displaystyle \ll } \gg ≫ {\displaystyle \gg } \asymp ≍ {\displaystyle \asymp } \parallel ∥ {\displaystyle \parallel } \subset ⊂ {\displaystyle \subset } \supset ⊃ {\displaystyle \supset } \subseteq ⊆ {\displaystyle \subseteq } \supseteq ⊇ {\displaystyle \supseteq } \approx ≈ {\displaystyle \approx } \neq ≠ {\displaystyle \neq } \ni Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \ni} \notin Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \notin} \in Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \ni} \vdash Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \vdash} \dashv Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \dashv} \bullet Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \bullet} \cdot Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \cdot} Arrows \leftarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \leftarrow} \longleftarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \longleftarrow} \Leftarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Leftarrow} \Longleftarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Longleftarrow} \rightarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \rightarrow} \longrightarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \longrightarrow} \Rightarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Rightarrow} \Longrightarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Longrightarrow} \uparrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \uparrow} \Uparrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Uparrow} \downarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \downarrow} \Downarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Downarrow} \leftrightarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \leftrightarrow} \longleftrightarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \longleftrightarrow} \updownarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \updownarrow} \Updownarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Updownarrow} \Leftrightarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Leftrightarrow} \Longleftrightarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Longleftrightarrow} \leftrightharpoons Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \rightleftharpoons} \Im Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Im} \nearrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \nearrow} \nwarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \nwarrow} \swarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \swarrow} \searrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \searrow} Delimiters and Maths Constructs NOTE: Most delimiters and constructs need additional parameters for them to appear appropriately. \{x Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \{x } \} Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle x | \} } \rangle Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \rangle } \langle Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \langle } \angle Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \angle } \= Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \| } \sqrt{ab} Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \sqrt{ab}} \sqrt[n]{ab} Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \sqrt[n]{ab}} \frac{ab}{cd} Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \frac{ab}{cd}} \backslash Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \backslash} \widehat{ab} Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \widehat{ab}} \$ Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \$ } \overline{ab} Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \overline{ab}} \underline{ab} Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \underline{ab}} \therefore Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \therefore} \ddots Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \ddots} \% Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \%} \# Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \# } \vdots Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \vdots} \emptyset Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \emptyset} WARNINGS: The & character in LaTeX usually requires a backslash, \. In TeX Notation for Moodle, apparently, it does not. Other packages, AsciiMath, may use it differently again so be careful using it. The copyright character may use the MimeTeX charset, and produces a copyright notice for John Forkosh Associates who provided a lot of the essential packages for the TeX Notation for Moodle, so I understand. I have been, almost reliably, informed that a particular instruction will produce a different notice though .:) There are also a number of characters that can be used in TeX Notation for Moodle but do not render in this page: Larger \left(x and \right) brackets \widetilde{ab} \textdegree or (50)^\circ Greek Letters Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \alpha} \alpha Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \beta} \beta Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \gamma} \gamma Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \delta} \delta Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \epsilon} \epsilon Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \zeta} \zeta Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \eta} \eta Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \theta} \theta Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \iota} \iota Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \kappa} \kappa Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \lambda} \lambda Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \mu} \mu Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \xi} \xi Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \pi} \pi Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \rho} \rho Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \sigma} \sigma Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \tau} \tau Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \upsilon} \upsilon Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \phi} \phi Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \chi} \chi Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \psi} \psi Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \omega} \omega Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Omega} \Omega Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Theta} \Theta Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Delta} \Delta Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Pi} \Pi Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Phi} \Phi Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Gamma } \Gamma Λ {\displaystyle \Lambda } \Lambda Σ {\displaystyle \Sigma } \Sigma Ψ {\displaystyle \Psi } \Psi Ξ {\displaystyle \Xi } \Xi Υ {\displaystyle \Upsilon } \Upsilon ϑ {\displaystyle \vartheta } \vartheta ϱ {\displaystyle \varrho } \varrho φ {\displaystyle \varphi } \varphi ς {\displaystyle \varsigma } \varsigma Notable Exceptions Greek letter omicron (traditionally, mathematicians don't make much use of omicron due to possible confusion with zero). Simply put, lowercase omicron is an "o" redered as o. But note \omicron may now work with recent TeX implementations including MathJax. At the time of writing, these Greek capital letters cannot be rendered by TeX Notation in Moodle: Alpha, Beta, Zeta, Eta, Tau, Chi, Mu, Iota, Kappa and Epsilon. TeX methematics adopts the convention that lowercase Greek symbols are displayed as italics whereas uppercase Greek symbols are displayed as upright characters. Therefore, the missing Greek capital letters can simply be represented by the \mathrm{ } equivalent A , B , Z , H , T , X , M , I , K , E {\displaystyle \mathrm {A,B,Z,H,T,X,M,I,K,E} } Boolean algebra There are a number of different conventions for representing Boolean (logic) algebra. Common conventions used in computer science and electronics are detailed below: Negation, NOT, ¬, !, ~, − \lnot, !, \sim, \overline{ } Conjunction, AND, ∧, ⋅ {\displaystyle \cdot } \land, \wedge, \cdot Dysjunction, OR, ∨, +, \lor, \vee, + Exclusive dysjunction, XOR ⊻, ⊕ \veebar, \oplus Equivalence, If and only if, Iff, ≡, ↔, ⇔ \equiv, \leftrightarrow \iff Example: two representations of De Morgan's laws: A ⋅ B = A ¯ + B ¯ ¯ {\displaystyle A\cdot B={\overline {{\overline {A}}+{\overline {B}}}}} $$ A \cdot B = \overline{\overline{A} + \overline{B}} SS ( A ∧ B ) ≡ ¬ ( ¬ A ∨ ¬ B ) {\displaystyle (A\land B)\equiv \lnot (\lnot {A}\lor \lnot {B})} $$ (A \land B) \equiv \lnot(\lnot{A} \lor \lnot{B}) $$ Fonts To use a particular font you need to access the font using the same syntax as demonstrated above. A math calligraphic font: A B C D E F G H I J K L M N O P Q R S T U V X Y Z {\displaystyle {\mathcal {ABCDEFGHIJKLMNOPQRSTUVXYZ}}} or $$ \mathcal{ABCDEFGHIJKLMNOPQRSTUVXYZ}$$ Blackboard bold, a Castellar type font: A B C D E F G H I J K L M N O P Q R S T U V X Y Z {\displaystyle \mathbb {ABCDEFGHIJKLMNOPQRSTUVXYZ} } or $$ \mathbb{ABCDEFGHIJKLMNOPQRSTUVXYZ}$$ Often used in number theory. For example: N {\displaystyle \mathbb {N} } = set of natural numbers including 0 {0, 1, 2, 3, ...}, Z {\displaystyle \mathbb {Z} } = set of integers {-..., -3, -2, -1, 0, 1, 2, 3, ... }, Q {\displaystyle \mathbb {Q} } = set of rational numbers, including integers, R {\displaystyle \mathbb {R} } = set of real numbers, which includes the natural numbers, rational numbers and irrational numbers. Fraktur, an Old English type font: A B C D E F G H I J K L M N O P Q R S T U V X Y Z {\displaystyle {\mathfrak {ABCDEFGHIJKLMNOPQRSTUVXYZ}}} or $$ \mathfrak{ABCDEFGHIJKLMNOPQRSTUVXYZ}$$ This is different in Tex Notation in Moodle than it is for other, full, TeX packages. An italic font: A B C D E F G H I J K L M N O P Q R S T U V X Y Z {\displaystyle {\mathit {ABCDEFGHIJKLMNOPQRSTUVXYZ}}} or $$ \mathit{ABCDEFGHIJKLMNOPQRSTUVXYZ} $$ A normal, upright non-italic, Roman font: A B C D E F G H I J K L M N O P Q R S T U V X Y Z {\displaystyle \mathrm {ABCDEFGHIJKLMNOPQRSTUVXYZ} } or $$ \mathrm{ABCDEFGHIJKLMNOPQRSTUVXYZ} $$ A bold-face font: A B C D E F G H I J K L M N O P Q R S T U V X Y Z {\displaystyle \mathbf {ABCDEFGHIJKLMNOPQRSTUVXYZ} } or $$ \mathbf{ABCDEFGHIJKLMNOPQRSTUVXYZ} $$ Size of displays The default size is rendered slightly larger than normal font size. TeX Notation in Moodle uses eight different sizes ranging from "tiny" to "huge". However,these values seem to mean different things and are, I suspect, dependent upon the User's screen resolution. The sizes can be noted in four different ways: \fontsize{0} to \fontsize{7} $$\fontsize{2} x \ = \ \frac{\sqrt{144}}{2} \ \times \ (y \ + \ 12)$$ \fs{0} to \fs{7} $$\fs{4} x \ = \ \frac{\sqrt{144}}{2} \ \times \ (y \ + \ 12)$$ \fs0 to \fs7 $$\fs6 x \ = \ \frac{\sqrt{144}}{2} \ \times \ (y \ + \ 12)$$ As well, you can use \tiny \small \normalsize \large \Large \LARGE \huge \Huge $$\normalsize x \ = \ \frac{\sqrt{144}}{2} \ \times \ (y \ + \ 12)$$ It appears that TeX Notation in Moodle now allows \fs6, \fs7, \huge and \Huge to be properly rendered. Colour Unlike many scripting languages, we only need to name the colour we want to use. You may have to experiment a little with colours, but it will make for a brighter page. Once named, the entire statement will appear in the colour, and if you mix colours, the last named colour will dominate. Some examples: $$ \red x \ = \ \frac{\sqrt{144}}{2} \ \times \ (y \ + \ 12) $$ $$ \blue x \ = \ \frac{\sqrt{144}}{2} \ \times \ (y \ + \ 12) $$ $$ \green x \ = \ \frac{\sqrt{144}}{2} \ \times \ (y \ + \ 12) $$ $$ \red x \ = \ \frac{\sqrt{144}}{2}$$ $$ \times $$ $$\green (y \ + \ 12) $$ $$ \ = $$ $$ \ \blue 6^3 $$ Moodle 2.2 note: You may find this doesn't work for you. You can try to add "\usepackage{color}" to your tex notation setting "LaTeX preamble" (under Site administration/Plugins/Filters/TeX notation)and then use this new syntax: $$ \color{red} x \ = \ \frac{\sqrt{144}}{2} \ \times \ (y \ + \ 12) $$ You may note this last one, it is considerably more complex than the previous for colours. TeX Notation in Windows does not allow multicoloured equations, if you name a number of colours in the equation, only the last named will be used. Geometric Shapes There are two ways to produce geometric shapes, one is with circles and the other is with lines. Each take a bit of practice to get right, but they can provide some simple geometry. It may be easier to produce the shapes in Illustrator or Paint Shop Pro or any one of a number of other drawing packages and use them to illustrate your lessons, but sometimes, some simple diagrams in Moodle will do a better job. Circles Circles are easy to make. Circles are easily created, and only needs a number to determine how large the circle is. To create the circle use $$ \circle(150) $$. This makes a circle of 150 pixels in diameter. Creating Arcs Arcs are also easy to produce, but require some additional parameters. The same code structure used in circles create the basic shape, but the inclusion of a start and end point creates only the arc. However, notice where the 0 point is, not at the true North, but rather the East and run in an anti-clockwise direction. $$ \circle(120;90,180)$$ $$ \circle(120;0,90)$$ $$ \circle(120;180,270)$$ $$ \circle(120;270,360)$$ This structure breaks down into the \circle command followed by the diameter, not the radius, of the circle, followed by a semi-colon, then the demarcation of the arc, the nomination of the start and end points in degrees from the 0, East, start point. Note that the canvas is the size of the diameter nominated by the circle's parameters. The \picture Command Using circles and arcs as shown above is somewhat limiting. The \picture command allows you to use a frame in which to build a picture of many layers. Each part of the picture though needs to be in its own space, and while this frame allows you to be creative, to a degree, there are some very hard and fast rules about using it. All elements of a picture need to be located within the picture frame. Unexpected results occur when parts of an arc, for example, runs over the border of the frame. (This is particularly true of lines, which we will get to next, and the consequences of that overstepping of the border can cause serious problems.) The \picture command is structured like: \picture(100){(50,50){\circle(200)}} \command(size of frame){(x co-ordinate, y co-ordinate){\shape to draw(size or x co-ordinate, y co-ordinate)}) NOTE: The brace is used to enclose each set of required starting point coordinates. Inside each set of braces, another set of braces is used to isolate each set of coordinates from the other, and those coordinates use their proper brackets and backslash. Count the opening and closing brackets, be careful of the position, $$ \picture(100){(50,50){\circle(200)}}&& The picture frame brings elements together that you may not otherwise see. Because of the frame size of 100px and the centre point of the circle in the mid-point of the frame, the 200px circle will be squashed. Unexpected results occur when sizes are not correct. Using the picture frame, you can layer circles and lines over each other, or they can intersect. $$ \picture(100){(50,50){\circle(99)} (50,50){\circle(80)}} $$ You may want to see an image of a circle with a dot in the middle. You may have to try to place the centre dot correctly, but the ordering of the elements in the image may have an impact. $$ \picture(100){(48,46){\bullet}(50,50){\circle(99)}} $$ Using the same ideas as above, you can make semi-circles. $$\picture(150){(50,50){\circle(100;0,180)}(100,50){\circle(100;180,360)}}$$ Lines Warning: Drawing lines in TeX Notation in Moodle is an issue, go to the Using Text Notation for more information. If the line is not noted properly then the parser will try to correctly draw the line but will not successfully complete it. This means that every image that needs be drawn will be drawn until it hits the error. When the error is being converted, it fails, so no subsequent image is drawn. Be careful and make sure your line works BEFORE you move to the next problem or next image. a couple of lines $$\red \picture(200){(20,0){ \line(180,0)}{(20,180){\line(180,0}$$ The structure of the picture box is that the \picture(200) provides a square image template. The (20,0) provides the starting coordinates for any line that comes after. In this case the start point is at 20pixels in the x axis and 0 pixels in the y axis. The starting point for all coordinates, 0,0, is the bottom left corner and they run in a clockwise manner. Do not confuse this with arcs. The \line(180,0) determines the length and inclination of the line. In this case, the inclination is 0 and the length is 180px. These are enclosed in braces, all inside one set of braces owned by the \picture() control sequence. The next set of commands are the same, that is, the (20,200) are the coordinates of the next line. The x co-ordinate is the 20, that is the distance to the right from the 0 point. The y co-ordinates is the distance from the bottom of the image. Whereas the first line started and ran on the bottom of the picture frame, the y co-ordinate starts at the 200 pixel mark from the bottom of the image. The line, at 180 pixels long and has no y slope. This creates a spread pair of parallel lines. \picture explained While this explains the structure of a line, there is a couple of elements that you need to go through to do more with them. Squares and Rectangles Drawing squares and rectangles is similar, but only slightly different. There should be a square box tool, and there is, but unless it has something inside it, it does not display. It is actually easier to make a square using the \line command. This box is constructed using: $$ \picture(250){(10,10){\line(0,230)}(10,10){\line(230,0)}(240,10){\line(0,230)}(10,240){\line(230,0)}}$$ It is a 250 pixel square box with a 230 pixel square inside it. This box is different in that is has the equal length indicators that are used in a square. $$ \picture(250){(10,10){\line(0,230)} (5,120){\line(10,0)} (10,10){\line(230,0)} (120,5){\line(0,10)} (240,10){\line(0,230)} (235,120){\line(10,0)} (10,240){\line(230,0)} (120,235){\line(0,10)}}$$ The rectangle then becomes the same thing, but with one side shorter. For a portrait canvas it would be: $$ \picture(250){(10,10){\line(0,230)}(10,10){\line(150,0)}(160,10){\line(0,230)}(10,240){\line(150,0)}}$$ The rectangle can also produce a landscape shape: $$ \picture(250){(10,10){\line(0,160)}(10,10){\line(230,0)}(240,10){\line(0,160)}(10,170){\line(230,0)}}$$ Controlling Angles Controlling angles is a little different. They involve a different perception, but not one that is unfamiliar. Consider this: We have a point from which we want to draw a line that is on an angle. The notation used at this point can be positive, positive or positive, negative or negative, positive or negative, negative. Think of it like a number plane or a graph, using directed numbers. The 0,0 point is in the centre, and we have four quadrants around it that give us one of the previously mentioned results. $$\picture(100){(50,50){\line(40,45)}}$$, a positive x and positive y $$\picture(100){(50,50){\line(-40,45)}}$$ a negative x and positive y $$\picture(100){(50,50){\line(-40,-45)}}$$ a negative x and negative y $$\picture(100){(50,50){\line(40,-45)}}$$ a positive x and a negative y Essentially, what these points boil down to is that anything above the insertion point is a positive on the y axis, anything below is a negative. Anything to the left of the insertion point is a negative while everything to the right is a positive. $$\picture(100){(50,50){\line(40,45)}(50,50){\line(-40,45)}(50,50){\line(-40,-45)}(50,50){\line(40,-45)}}$$ The co-ordinate alignment process in TeX is not that good that you can use one set of co-ords as a single starting point for all lines. The layering of each object varies because of the position of the previous object, so each object needs to be exactly placed. This co-ord structure has a great deal of impact on intersecting lines, parallel lines and triangles. Intersecting Lines You can set up an intersecting pair easily enough, using the \picture control sequence. $$ \picture(200){(10,0){\line(150,150)} (0,130){\line(180,-180)}} $$ The lines that are drawn can be labeled. $$ \picture(200){(10,0){\line(150,150)}(0,130){\line(180,-180)} (0,10){A}(0,135){B}(140,0){C}(140,150){D}(62,80){X}} $$ To produce another image. To which you may want to ask the question: $$The \ \angle \ of \ AXB \ is \ 72\textdegree. \ What \ is \ the \ value \ of \ \angle BXD? $$ NOTE: Labeling this image, above-right, turned out to be fairly simple. Offsetting points by a few pixels at the start or end points of the lines proved a successful strategy. The X point proved a little more problematic, and took a number of adjustments before getting it right. Experience here will help. With labels the drawing can become a little more like your traditional geometric drawing, but the devil is in the details. The parallel markers need to be placed properly, and that is where experience really comes into it. On lines that are vertical or horizontal, you can get away with using the > or < directly from the keyboard, or the ≫ {\displaystyle \gg } or ≪ {\displaystyle \ll } symbols. In either case, you need to position them properly. The code: $$\picture(200){(15,45){\line(170,0)} (15,30){c}(170,28){d}(15,160){\line(170,0)}(15,145){e}(180,143){f}(50,20){\line(110,175)}(58,20){a}(140,185){b}(42,32){\kappa}(53,48){\beta} (150,165){\kappa} (90,38){\gg}(80,153){\gg} }$$ Lines and Arcs Combining lines and arcs is a serious challenge actually, on a number of levels. For example, lets take an arc from the first page on circles. Fairly innocuous of itself, but when we start to add in elements, it changes dramatically. $$ \circle(120;90,180) $$ $$\picture(150){(75,75){\circle(120;90,180)}(75,75){\line(-70,0)}(75,75){\line(0,75)}} $$ All elements in this drawing start in the same place. Each is layered, and properly placed on the canvas, and using the same co-ord to start makes it easy to control them. No matter the size of the arc, intersecting lines can all be drawn using the centre co-ords of the arc. Triangles Of all the drawing objects, it is actually triangles that present the most challenge. For example: $$\picture(350){(10,10){\line(0,320)}(10,330){\line(330,0)}(10,10){\line(330,320)}}$$ This is a simple triangle, one that allows us to establish a simple set of rules for the sides. The vertical always has an x=0 co-ord and the horizontal always has a y=0 co-ord. In this case with an x value of 330 on the horizontal, and a y value of 320 on the vertical, the hypotenuse should then have a value of x=340, and the y=330, but not so, they actually have an x=330 and a y=320. There is no need to add the starting point co-ords to the x and y values of the line. $$picture(350){(10,10){\line(330,0)}(340,10){\line(0,320)}(340,330){\line(-330,-320)}}$$ This triangle has been developed for a Trigonometry page - but the additional notation should provide insight into how you can use it. This is a labeled image, but it has an \fbox in it with its little line. With some effort, it could be replaced with two intersecting short lines. $$\picture(350,150){(25,25){\line(300,0)}(325,25){\line(0,110)}(25,25){\line(300,110)}(309,25){\fbox{\line(5,5)}} (307,98){\theta}(135,75){\beta}(150,5){\alpha}(335,75){\epsilon}}$$ The triangle shows like: We use the different elements of the triangle to identify those things we need to know about a right-angled triangle. The hypotenuse is always the side that is opposite the right angle. The longest side is always the Hypotenuse. To identify the other elements of the triangle we look for the sign θ {\displaystyle \theta } . Θ {\displaystyle \Theta } is the starting point for naming the other sides. The side that is opposite ∠ θ {\displaystyle \angle \theta } is known as the Opposite. The side that lies alongside ∠ θ {\displaystyle \angle \theta } is known as the Adjacent side. To determine which is which, draw a line that bisects ∠ θ {\displaystyle \angle \theta } and whatever line it crosses is the Opposite side. The code: $$ \picture(350,250){(25,25){\line(300,0)}(25,25){\line(0,220)}(25,245){\line(300,-220)}(310,25){\circle(100;135,180)}(20,100){\line(310,-75)} (25,25){\fbox{\line(5,5)}}(25,25){\line(150,150)}(165,140){Hypotenuse}(120,2){Adjacent}(2,80){\rotatebox{90}{Opposite}}(270,40){\theta}}$$ Matrices A Matrix is a rectangular array of numbers arranged in rows and columns which can be used to organize numeric information. Matrices can be used to predict trends and outcomes in real situations - i.e. polling. A Matrix A matrix can be written and displayed like In this case the matrix is constructed using the brackets before creating the array: $$ M = \left[\begin{array}{ccc} a&b&1 \\ c&d&2 \\ e&f&3\end{array}\right] $$ The internal structure of the array is generated by the &, ampersand, and the double backslash. You can also create a grid for the matrix. A dashed line A solid line A mixed line $$ M = \left[\begin{array}{c.c.c} a&b&1 \ \hdash c&d&2 \ \hdash e&f&3\end{array}\right] $$ c|c} a&b&1 \ \hline c&d&2 \ \hline e&f&3\end{array}\right] $$ c} a&b&1 \ \hline c&d&2 \ \hdash e&f&3\end{array}\right] $$ The command sequences here are the {c|c.c} and \hdash and \hline. The pipe, |, and the full stop determine the line type for the vertical line. Matrices also respond to other TeX Notation commands such as size and colour. Colour Size $$ \blue M = \left[\begin{array}{c.c.c} a&b&1 \ \hdash c&d&2 \ \hdash e&f&3\end{array}\right] $$ $$ \fs7 M = \left[\begin{array}{c.c.c} a&b&1 \ \hdash c&d&2 \ \hdash e&f&3\end{array}\right] $$ $$ \fs2 M = \left[\begin{array}{c.c.c} a&b&1 \ \hdash c&d&2 \ \hdash e&f&3\end{array}\right] $$ Creating equal and unequal matrices Equal and unequal matrices are simply matrices that either share or not share the same number of rows and columns. To be more precise, equal matrices share the same order and each element in the corresponding positions are equal. Anything else is unequal matrices. Actually equal and unequal matrices are constructed along similar lines, but have different shapes: Equal Matrix An unequal matrix $$ \left[\begin{array} a&b&1 \ c&d&2 \ e&f&3\end{array}\right] \ = \ \left[\begin{array} 12&11&z \ 10&9&y \ 8&7&x\end{array}\right] $$ $$ \left[\begin{array} a&b \ c&d \ e&f \end{array}\right] \ \neq \ \left[\begin{array} 12&11&z \ 10&9&y \ 8&7&x\end{array}\right] $$ Labeling a Matrix Addition and subtraction matrices are similar again, but the presentation is usually very different. The problem comes when trying to mix labels into arrays. The lack of sophistication in the TeX Notation plays against it here. Moodle allows an easy adoption of tables to make it work though. For example: Bill the baker supplies three shops, A, B and C with pies, pasties and sausage rolls. He is expected to determine the stock levels of those three shops in his estimation of supplies. It is better to use the Moodle Fullscreen editor for this, to have a better idea of how the end product will look and to take advantage of the additional tools available. Design decisions need occupy our attention for a while. We need a table of five rows and four columns. The first row is a header row, so the label is centred. The next row needs four columns, a blank cell to start and labels A, B and C. The next three rows are divided into two columns, with the labels, pies, pasties and sausage rolls in each row of the first column and the matrix resides in a merged set of columns there. So first the table: Insert Table - initial properties Merge Cells Button Advanced Properties You may need to look into the Advanced properties setting of the tables and cells to make this work. This is the immediate result: While not a very good look, it can be made better by tweaking the table using the advanced settings and properties buttons and then you can tweak the matrix itself. Tweaking the Matrix Things are not always as they seem, be aware, the "c" does not stand for "column", it actually stands for "centre". The columns are aligned by the letters l, for left, c for centre and r for right. Each column is spread across 50 pixels, so the value of 50 is entered into the alignment declaration. The plus sign before the value is used to "propogate" or to force the value across the whole matrix, but is not used when wanting to separate only one column. To set the rows is a little more problematic. The capital letter C sets the vertical alignment to the centre, (B is for baseline, but that does not guarantee that the numbers will appear on the base line, and there does not appear to be any third value). The plus sign and following value sets the height of all rows to the number given. In this I have given it a value of 25 pixels for the entire matrix. If there were four or five rows, the same height requirement is made. The order things appear is also important. If you change the order of these settings, they will either not work at all, or will not render as you expect them to. If something does not work properly, then check to make sure you have the right order first. An Addition Matrix The rule for performing operations on matrices is that they must be equal matrices. For example, addition matrices look like: with the results obvious. The code is: $$\left[\begin{array}{c+50C+25.c.c} 11&14&12 \ \hdash16&12&22 \ \hdash 14&17&15 \end{array}\right] + \left[\begin{array}{c+50C+25.c.c} 60&60&60 \ \hdash 40&40&30 \ \hdash 30&30&30 \end{array}\right] $$ A Subtraction Matrix Similar to an addition matrix in its construction, the subtraction matrix is subject to the same rules of equality. Using the same essential data, we can calculate the daily sales of each of the shops. The code is: $$ \left[\begin{array}{c+50C+25.c.c} 72&95&68 \ \hdash 54&61&65 \ \hdash 48&51&60 \end{array}\right] - \left[\begin{array}{c+50C+25.c.c} 11&14&12 \ \hdash 16&12&22 \ \hdash 14&17&15 \end{array}\right] = \left[\begin{array}{c+50C+25.c.c} 61&81&56 \ \hdash 38&49&43 \ \hdash 34&34&48 \end{array}\right] $$ This code looks more complex than it really is, it is cluttered by the lines and alignment sequences. Multiplication Matrices Different than the addition or subtraction matrices, the multiplication matrix comes in three parts, the row matrix, the column matrix and the answer matrix. This implies it has a different construction methodology. And the code for this is: $$ \begin{array} 10&14&16\end{array} \ \left[\begin{array} 45 \\ 61 \\ 19 \end{array}\right] \ = \ \begin{array} 450&854&304\end{array} $$ While different, it is not necessarily more complex. For example, a problem like: Bill the baker is selling his product to Con the cafe owner, who wants to make sure his overall prices are profitable for himself. Con needs to make sure that his average price is providing sufficient profit to be able to keep the cafes open. Con makes his calculations on a weekly basis, comparing cost to sale prices. With the pies, pasties and sausage rolls in that order he applies them to the cost and sale price columns : The code for this is: $$\left[\begin{array} 350&310&270 \end{array}\right] \ \left[\begin{array} \$2.10&\$3.60 \ \$2.05&\$3.60 \ \$1.90&\$3.10 \end{array} \right] \ = \ \left[\begin{array} \$735.00&\$1260.00 \ \$635.50&\$1116.00 \ \$513.00&$\837.00 \end{array}\right] $$ How to wrap long MathJax equations As described by Christopher Sangwin: See this documentation. Add CommonHTML: { linebreaks: { automatic: true } }, "HTML-CSS": { linebreaks: { automatic: true } }, SVG: { linebreaks: { automatic: true } } to "filter_mathjaxloader | mathjaxconfig" in the filter settings: Dashboard > Site administration > Plugins > Filters > MathJax Seems to do the trick. See also Mathematics tools FAQ MathJax filter - available in Moodle 2.7 and later TeX notation filter To turn on the TeX Notation DragMath equation editor Chemistry notation using mhchem Source: docs.moodle.org/503/en/Using MimeTeX — MoodleDocs (GPL) · Imported 2026-11-10. Using TeX Notation Note: This page is a work-in-progress. Feedback and suggested improvements are welcome. Please join the discussion on moodle.org or use the . TeX (/'tɛx/tekh, often pronounced TeK in English) is a very widespread and popular way of representing Mathematics notation using only characters that you can type on a keyboard (see Wikipedia). This makes it a useful format to use in Moodle, since it can be entered anywhere you can type text, from forum posts to quiz questions. TeX expressions can be entered in multiple ways: typing them directly into texts. using the Java-based Dragmath editor in Moodle's TinyMCE editor. Afterwards, TeX expressions are rendered into Mathematics notation: using the TeX filter in Moodle, which uses a TeX binary installed on the server to convert expressions into .gif images (or if that is not available, it falls back to a simple built-in mimetex binary). using the MathJax filter which identifies TeX expressions and uses the Mathjax JS library to render them in browsers at display time (since Moodle 2.7). using other third-party solutions. As you can imagine, the whole field is not as simple as we would like, especially because there are many flavours of TeX and slight variations between tools. This page focusses only on using TeX in core Moodle. See the links at the bottom of this page for more information on setting up TeX editors and filters, including other tools from the Moodle community that may be suitable for advanced users. WARNING: This Wiki environment uses a DIFFERENT TeX renderer to Moodle, especially when it comes to control sequences. For this reason images are sometimes used to represent what it should look like in Moodle. YMMV. 1 Language Conventions 2 Equation displayed on its own line 3 Equation displayed within text 4 Reserved Characters and Keywords 5 Superscripts, Subscripts and Roots 6 Fractions 7 Brackets 8 Ellipsis 9 Symbols 10 Arrows 11 Delimiters and Maths Constructs 12 Greek Letters 13 Boolean algebra 14 Fonts 15 Size of displays 16 Colour 17 Geometric Shapes 18 Circles 19 Creating Arcs 20 The \picture Command 21 Lines 22 Squares and Rectangles 23 Controlling Angles 24 Intersecting Lines 25 Lines and Arcs 26 Triangles 27 Matrices 27.1 A Matrix 27.2 Creating equal and unequal matrices 27.3 Labeling a Matrix 27.4 Tweaking the Matrix 27.5 An Addition Matrix 27.6 A Subtraction Matrix 27.7 Multiplication Matrices 27.8 How to wrap long MathJax equations 27.9 See also Language Conventions To identify a TeX sequence in your text, surround it with $$ markers. To invoke a particular command or control sequence, use the backslash, \. A typical control sequence looks like: $$ x\ =\ \frac{\sqrt{144}}{2}\ \times\ (y\ +\ 12) $$ Fraction and square root. Additional spaces can be placed into the equation using the \ without a trailing character. Equation displayed on its own line When an equation is surrounded by a pair of $$ markers, it is displayed centered on its own line. The $$’s are primitive TeX markers. With LaTeX, it is often recommended to use the pair \[ and \] to enclose equations, rather than the $$ markers, because the newer syntax checks for mistyped equations and better adjusts vertical spacing. If the TeX Notation filter is activated, which set a LaTeX renderer, the same equation as above is obtained with the following control sequence: \[ x\ =\ \frac{\sqrt{144}}{2}\ \times\ (y\ +\ 12) \] However, if the equation is mistyped, it will be displayed enclosed in a box to signal the mistake and if the equation appears in a new paragraph, the vertical space above the equation will adjust correctly. Using \[ … \] instead of $$ … $$ may have other advantages. For example, with the Wiris equation editor installed, the Atto editor undesirably transforms the TeX code of equations enclosed with $$ into XML code, whereas it does not do so when the equations are enclosed with \[ and \]. Equation displayed within text With the TeX notation filter activated, an equation is displayed within the text when it is surrounded by the pair \( and \). For example, the following: The point \( \left( {{x}_{0}}+\frac{1}{p\left( {{x}_{0}} \right)}\ ,\ \frac{q\left( {{x}_{0}} \right)}{p\left( {{x}_{0}} \right)} \right) \) is located... will display as follows: Note that the single $ marks may not work for this purpose. Reserved Characters and Keywords Most characters and numbers on the keyboard can be used at their default value. As with any computing language, though, there are a set of reserved characters and keywords that are used by the program for its own purposes. TeX Notation is no different, but it does have a very small set of Reserved Characters. This will not be a complete list of reserved characters, but some of these are: @ # $ % ^ & * ( ) . To use these characters in an equation just place the \ in front of them like \$ or \%. If you want to use the backslash, just use \backslash. The only exception here seems to be the &, ampersand. Superscripts, Subscripts and Roots Superscripts are recorded using the caret, ^, symbol. An example for a Maths class might be: $$ 4^2 \ \times \ 4^3 \ = 4^5 $$ This is a shorthand way of saying: (4 x 4) x (4 x 4 x 4) = (4 x 4 x 4 x 4 x 4) or 16 x 64 = 1024. 4 2   ×   4 3   = 4 5 {\displaystyle 4^{2}\ \times \ 4^{3}\ =4^{5}} Subscripts are similar, but use the underscore character. $$ 3x_2 \ \times \ 2x_3 $$ 3 x 2   ×   2 x 3 {\displaystyle 3x_{2}\ \times \ 2x_{3}} This is OK if you want superscripts or subscripts, but square roots are a little different. This uses a control sequence. $$ \sqrt{64} \ = \ 8 $$ 64   =   8 {\displaystyle {\sqrt {64}}\ =\ 8} You can also take this a little further, but adding in a control character. You may ask a question like: $$ If \ \sqrt[n]{1024} \ = \ 4, \ what \ is \ the \ value \ of \ n? $$ I f   1024 n   =   4 ,   w h a t   i s   t h e   v a l u e   o f   n ? {\displaystyle If\ {\sqrt[{n}]{1024}}\ =\ 4,\ what\ is\ the\ value\ of\ n?} Using these different commands allows you to develop equations like: $$ The \sqrt{64} \ \times \ 2 \ \times \ 4^3 \ = \ 1024 $$ T h e 64   ×   2   ×   4 3   =   1024 {\displaystyle The{\sqrt {64}}\ \times \ 2\ \times \ 4^{3}\ =\ 1024} Superscripts, Subscripts and roots can also be noted in Matrices. Fractions Fractions in TeX are actually simple, as long as you remember the rules. $$ \frac{numerator}{denominator} $$ which produces n u m e r a t o r d e n o m i n a t o r {\displaystyle {\frac {numerator}{denominator}}} . This can be given as: 5 10   i s   e q u a l   t o   1 2 {\displaystyle {\frac {5}{10}}\ is\ equal\ to\ {\frac {1}{2}}} . This is entered as: $$ \frac{5}{10} \ is \ equal \ to \ \frac{1}{2}.$$ With fractions (as with other commands) the curly brackets can be nested so that for example you can implement negative exponents in fractions. As you can see, $$\frac {5^{-2}}{3}$$ will produce 5 − 2 3 {\displaystyle {\frac {5^{-2}}{3}}} $$\left(\frac{3}{4}\right)^{-3}$$ will produce ( 3 4 ) − 3 {\displaystyle \left({\frac {3}{4}}\right)^{-3}} and $$\frac{3}{4^{-3}}$$ will produce 3 4 − 3 {\displaystyle {\frac {3}{4^{-3}}}} You likely do not want to use $$\frac{3}{4}^{-3}$$ as it produces 3 4 − 3 {\displaystyle {\frac {3}{4}}^{-3}} You can also use fractions and negative exponents in Matrices. Brackets As students advance through Maths, they come into contact with brackets. Algebraic notation depends heavily on brackets. The usual keyboard values of ( and ) are useful, for example: d = 2   ×   ( 4   −   j ) {\displaystyle d=2\ \times \ (4\ -\ j)} This is written as: $$ d = 2 \ \times \ (4 \ - \ j) $$ Usually, these brackets are enough for most formulae but they will not be in some circumstances. Consider this: 4 x 3   +   ( x   +   42 1 + x 4 ) {\displaystyle 4x^{3}\ +\ (x\ +\ {\frac {42}{1+x^{4}}})} Is OK, but try it this way: 4 x 3   +   ( x   +   42 1 + x 4 ) {\displaystyle 4x^{3}\ +\ \left(x\ +\ {\frac {42}{1+x^{4}}}\right)} This can be achieved by: $$ 4x^3 \ + \ \left(x \ + \ \frac{42}{1 + x^4}\right) $$ A simple change using the \left( and \right) symbols instead. Note the actual bracket is both named and presented. Brackets are almost essential in Matrices. Ellipsis The Ellipsis is a simple code: x 1 ,   x 2 ,   … ,   x n {\displaystyle x_{1},\ x_{2},\ \ldots ,\ x_{n}} Written like: $$ x_1, \ x_2, \ \ldots, \ x_n $$ A more practical application could be: Question: "Add together all the numbers from 1 … {\displaystyle \ldots } 38. What is an elegant and simple solution to this problem? Can you create an algebraic function to explain this solution? Will your solution work for all numbers?" Answer: The question uses an even number to demonstrate a mathematical process and generate an algebraic formula. Part 1: Part 2. Part 3. 1.   1   +   38   =   39 {\displaystyle 1.\ 1\ +\ 38\ =\ 39} 2.   2   +   37   =   39 {\displaystyle 2.\ 2\ +\ 37\ =\ 39} 3.   3   +   36   =   39 {\displaystyle 3.\ 3\ +\ 36\ =\ 39} … {\displaystyle \ldots } 19.19   +   20   =   39 {\displaystyle 19.19\ +\ 20\ =\ 39} ∴ x   =   39   ×   19 {\displaystyle \therefore x\ =\ 39\ \times \ 19} ∴ x   =   741 {\displaystyle \therefore x\ =\ 741} An algebraic function might read something like: t = ( 1 + n ) × n / 2 {\displaystyle t=(1+n)\times n/2} Where t = total and n = the last number. The solution is that, using the largest and the smallest numbers, the numbers are added and then multiplied by the number of different combinations to produce the same result adding the first and last numbers. The answer must depend on the number, n 2 {\displaystyle {\frac {n}{2}}} being a whole number. Therefore, the solution will not work for an odd range of numbers, only an even range. Symbols These are not all the symbols that may be available in TeX Notation for Moodle, just the ones that I have found to work in Moodle. \amalg ⨿ {\displaystyle \amalg } \cup ∪ {\displaystyle \cup } \oplus ⊕ {\displaystyle \oplus } \times × {\displaystyle \times } \ast ∗ {\displaystyle \ast } \dagger † {\displaystyle \dagger } \oslash ⊘ {\displaystyle \oslash } \triangleleft ◃ {\displaystyle \triangleleft } \bigcirc ◯ {\displaystyle \bigcirc } \ddagger ‡ {\displaystyle \ddagger } \otimes ⊗ {\displaystyle \otimes } \triangleright ▹ {\displaystyle \triangleright } \bigtriangledown ▽ {\displaystyle \bigtriangledown } \diamond ⋄ {\displaystyle \diamond } \pm ± {\displaystyle \pm } \odot ⊙ {\displaystyle \odot } \bigtriangleup △ {\displaystyle \bigtriangleup } \div ÷ {\displaystyle \div } \ominus ⊖ {\displaystyle \ominus } \wr ≀ {\displaystyle \wr } \circ ∘ {\displaystyle \circ } \wedge ∧ {\displaystyle \wedge } \vee ∨ {\displaystyle \vee } \sqcup ⊔ {\displaystyle \sqcup } \leq ≤ {\displaystyle \leq } \geq ≥ {\displaystyle \geq } \equiv ≡ {\displaystyle \equiv } \prec ≺ {\displaystyle \prec } \succ ≻ {\displaystyle \succ } \sim ∼ {\displaystyle \sim } \perp ⊥ {\displaystyle \perp } \preceq ⪯ {\displaystyle \preceq } \succeq ⪰ {\displaystyle \succeq } \simeq ≃ {\displaystyle \simeq } \mid ∣ {\displaystyle \mid } \ll ≪ {\displaystyle \ll } \gg ≫ {\displaystyle \gg } \asymp ≍ {\displaystyle \asymp } \parallel ∥ {\displaystyle \parallel } \subset ⊂ {\displaystyle \subset } \supset ⊃ {\displaystyle \supset } \subseteq ⊆ {\displaystyle \subseteq } \supseteq ⊇ {\displaystyle \supseteq } \approx ≈ {\displaystyle \approx } \neq ≠ {\displaystyle \neq } \ni Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \ni} \notin Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \notin} \in Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \ni} \vdash Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \vdash} \dashv Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \dashv} \bullet Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \bullet} \cdot Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \cdot} Arrows \leftarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \leftarrow} \longleftarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \longleftarrow} \Leftarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Leftarrow} \Longleftarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Longleftarrow} \rightarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \rightarrow} \longrightarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \longrightarrow} \Rightarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Rightarrow} \Longrightarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Longrightarrow} \uparrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \uparrow} \Uparrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Uparrow} \downarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \downarrow} \Downarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Downarrow} \leftrightarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \leftrightarrow} \longleftrightarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \longleftrightarrow} \updownarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \updownarrow} \Updownarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Updownarrow} \Leftrightarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Leftrightarrow} \Longleftrightarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Longleftrightarrow} \leftrightharpoons Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \rightleftharpoons} \Im Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Im} \nearrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \nearrow} \nwarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \nwarrow} \swarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \swarrow} \searrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \searrow} Delimiters and Maths Constructs NOTE: Most delimiters and constructs need additional parameters for them to appear appropriately. \{x Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \{x } \} Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle x | \} } \rangle Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \rangle } \langle Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \langle } \angle Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \angle } \= Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \| } \sqrt{ab} Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \sqrt{ab}} \sqrt[n]{ab} Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \sqrt[n]{ab}} \frac{ab}{cd} Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \frac{ab}{cd}} \backslash Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \backslash} \widehat{ab} Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \widehat{ab}} \$ Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \$ } \overline{ab} Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \overline{ab}} \underline{ab} Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \underline{ab}} \therefore Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \therefore} \ddots Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \ddots} \% Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \%} \# Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \# } \vdots Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \vdots} \emptyset Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \emptyset} WARNINGS: The & character in LaTeX usually requires a backslash, \. In TeX Notation for Moodle, apparently, it does not. Other packages, AsciiMath, may use it differently again so be careful using it. The copyright character may use the MimeTeX charset, and produces a copyright notice for John Forkosh Associates who provided a lot of the essential packages for the TeX Notation for Moodle, so I understand. I have been, almost reliably, informed that a particular instruction will produce a different notice though .:) There are also a number of characters that can be used in TeX Notation for Moodle but do not render in this page: Larger \left(x and \right) brackets \widetilde{ab} \textdegree or (50)^\circ Greek Letters Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \alpha} \alpha Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \beta} \beta Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \gamma} \gamma Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \delta} \delta Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \epsilon} \epsilon Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \zeta} \zeta Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \eta} \eta Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \theta} \theta Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \iota} \iota Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \kappa} \kappa Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \lambda} \lambda Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \mu} \mu Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \xi} \xi Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \pi} \pi Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \rho} \rho Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \sigma} \sigma Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \tau} \tau Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \upsilon} \upsilon Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \phi} \phi Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \chi} \chi Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \psi} \psi Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \omega} \omega Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Omega} \Omega Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Theta} \Theta Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Delta} \Delta Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Pi} \Pi Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Phi} \Phi Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Gamma } \Gamma Λ {\displaystyle \Lambda } \Lambda Σ {\displaystyle \Sigma } \Sigma Ψ {\displaystyle \Psi } \Psi Ξ {\displaystyle \Xi } \Xi Υ {\displaystyle \Upsilon } \Upsilon ϑ {\displaystyle \vartheta } \vartheta ϱ {\displaystyle \varrho } \varrho φ {\displaystyle \varphi } \varphi ς {\displaystyle \varsigma } \varsigma Notable Exceptions Greek letter omicron (traditionally, mathematicians don't make much use of omicron due to possible confusion with zero). Simply put, lowercase omicron is an "o" redered as o. But note \omicron may now work with recent TeX implementations including MathJax. At the time of writing, these Greek capital letters cannot be rendered by TeX Notation in Moodle: Alpha, Beta, Zeta, Eta, Tau, Chi, Mu, Iota, Kappa and Epsilon. TeX methematics adopts the convention that lowercase Greek symbols are displayed as italics whereas uppercase Greek symbols are displayed as upright characters. Therefore, the missing Greek capital letters can simply be represented by the \mathrm{ } equivalent A , B , Z , H , T , X , M , I , K , E {\displaystyle \mathrm {A,B,Z,H,T,X,M,I,K,E} } Boolean algebra There are a number of different conventions for representing Boolean (logic) algebra. Common conventions used in computer science and electronics are detailed below: Negation, NOT, ¬, !, ~, − \lnot, !, \sim, \overline{ } Conjunction, AND, ∧, ⋅ {\displaystyle \cdot } \land, \wedge, \cdot Dysjunction, OR, ∨, +, \lor, \vee, + Exclusive dysjunction, XOR ⊻, ⊕ \veebar, \oplus Equivalence, If and only if, Iff, ≡, ↔, ⇔ \equiv, \leftrightarrow \iff Example: two representations of De Morgan's laws: A ⋅ B = A ¯ + B ¯ ¯ {\displaystyle A\cdot B={\overline {{\overline {A}}+{\overline {B}}}}} $$ A \cdot B = \overline{\overline{A} + \overline{B}} SS ( A ∧ B ) ≡ ¬ ( ¬ A ∨ ¬ B ) {\displaystyle (A\land B)\equiv \lnot (\lnot {A}\lor \lnot {B})} $$ (A \land B) \equiv \lnot(\lnot{A} \lor \lnot{B}) $$ Fonts To use a particular font you need to access the font using the same syntax as demonstrated above. A math calligraphic font: A B C D E F G H I J K L M N O P Q R S T U V X Y Z {\displaystyle {\mathcal {ABCDEFGHIJKLMNOPQRSTUVXYZ}}} or $$ \mathcal{ABCDEFGHIJKLMNOPQRSTUVXYZ}$$ Blackboard bold, a Castellar type font: A B C D E F G H I J K L M N O P Q R S T U V X Y Z {\displaystyle \mathbb {ABCDEFGHIJKLMNOPQRSTUVXYZ} } or $$ \mathbb{ABCDEFGHIJKLMNOPQRSTUVXYZ}$$ Often used in number theory. For example: N {\displaystyle \mathbb {N} } = set of natural numbers including 0 {0, 1, 2, 3, ...}, Z {\displaystyle \mathbb {Z} } = set of integers {-..., -3, -2, -1, 0, 1, 2, 3, ... }, Q {\displaystyle \mathbb {Q} } = set of rational numbers, including integers, R {\displaystyle \mathbb {R} } = set of real numbers, which includes the natural numbers, rational numbers and irrational numbers. Fraktur, an Old English type font: A B C D E F G H I J K L M N O P Q R S T U V X Y Z {\displaystyle {\mathfrak {ABCDEFGHIJKLMNOPQRSTUVXYZ}}} or $$ \mathfrak{ABCDEFGHIJKLMNOPQRSTUVXYZ}$$ This is different in Tex Notation in Moodle than it is for other, full, TeX packages. An italic font: A B C D E F G H I J K L M N O P Q R S T U V X Y Z {\displaystyle {\mathit {ABCDEFGHIJKLMNOPQRSTUVXYZ}}} or $$ \mathit{ABCDEFGHIJKLMNOPQRSTUVXYZ} $$ A normal, upright non-italic, Roman font: A B C D E F G H I J K L M N O P Q R S T U V X Y Z {\displaystyle \mathrm {ABCDEFGHIJKLMNOPQRSTUVXYZ} } or $$ \mathrm{ABCDEFGHIJKLMNOPQRSTUVXYZ} $$ A bold-face font: A B C D E F G H I J K L M N O P Q R S T U V X Y Z {\displaystyle \mathbf {ABCDEFGHIJKLMNOPQRSTUVXYZ} } or $$ \mathbf{ABCDEFGHIJKLMNOPQRSTUVXYZ} $$ Size of displays The default size is rendered slightly larger than normal font size. TeX Notation in Moodle uses eight different sizes ranging from "tiny" to "huge". However,these values seem to mean different things and are, I suspect, dependent upon the User's screen resolution. The sizes can be noted in four different ways: \fontsize{0} to \fontsize{7} $$\fontsize{2} x \ = \ \frac{\sqrt{144}}{2} \ \times \ (y \ + \ 12)$$ \fs{0} to \fs{7} $$\fs{4} x \ = \ \frac{\sqrt{144}}{2} \ \times \ (y \ + \ 12)$$ \fs0 to \fs7 $$\fs6 x \ = \ \frac{\sqrt{144}}{2} \ \times \ (y \ + \ 12)$$ As well, you can use \tiny \small \normalsize \large \Large \LARGE \huge \Huge $$\normalsize x \ = \ \frac{\sqrt{144}}{2} \ \times \ (y \ + \ 12)$$ It appears that TeX Notation in Moodle now allows \fs6, \fs7, \huge and \Huge to be properly rendered. Colour Unlike many scripting languages, we only need to name the colour we want to use. You may have to experiment a little with colours, but it will make for a brighter page. Once named, the entire statement will appear in the colour, and if you mix colours, the last named colour will dominate. Some examples: $$ \red x \ = \ \frac{\sqrt{144}}{2} \ \times \ (y \ + \ 12) $$ $$ \blue x \ = \ \frac{\sqrt{144}}{2} \ \times \ (y \ + \ 12) $$ $$ \green x \ = \ \frac{\sqrt{144}}{2} \ \times \ (y \ + \ 12) $$ $$ \red x \ = \ \frac{\sqrt{144}}{2}$$ $$ \times $$ $$\green (y \ + \ 12) $$ $$ \ = $$ $$ \ \blue 6^3 $$ Moodle 2.2 note: You may find this doesn't work for you. You can try to add "\usepackage{color}" to your tex notation setting "LaTeX preamble" (under Site administration/Plugins/Filters/TeX notation)and then use this new syntax: $$ \color{red} x \ = \ \frac{\sqrt{144}}{2} \ \times \ (y \ + \ 12) $$ You may note this last one, it is considerably more complex than the previous for colours. TeX Notation in Windows does not allow multicoloured equations, if you name a number of colours in the equation, only the last named will be used. Geometric Shapes There are two ways to produce geometric shapes, one is with circles and the other is with lines. Each take a bit of practice to get right, but they can provide some simple geometry. It may be easier to produce the shapes in Illustrator or Paint Shop Pro or any one of a number of other drawing packages and use them to illustrate your lessons, but sometimes, some simple diagrams in Moodle will do a better job. Circles Circles are easy to make. Circles are easily created, and only needs a number to determine how large the circle is. To create the circle use $$ \circle(150) $$. This makes a circle of 150 pixels in diameter. Creating Arcs Arcs are also easy to produce, but require some additional parameters. The same code structure used in circles create the basic shape, but the inclusion of a start and end point creates only the arc. However, notice where the 0 point is, not at the true North, but rather the East and run in an anti-clockwise direction. $$ \circle(120;90,180)$$ $$ \circle(120;0,90)$$ $$ \circle(120;180,270)$$ $$ \circle(120;270,360)$$ This structure breaks down into the \circle command followed by the diameter, not the radius, of the circle, followed by a semi-colon, then the demarcation of the arc, the nomination of the start and end points in degrees from the 0, East, start point. Note that the canvas is the size of the diameter nominated by the circle's parameters. The \picture Command Using circles and arcs as shown above is somewhat limiting. The \picture command allows you to use a frame in which to build a picture of many layers. Each part of the picture though needs to be in its own space, and while this frame allows you to be creative, to a degree, there are some very hard and fast rules about using it. All elements of a picture need to be located within the picture frame. Unexpected results occur when parts of an arc, for example, runs over the border of the frame. (This is particularly true of lines, which we will get to next, and the consequences of that overstepping of the border can cause serious problems.) The \picture command is structured like: \picture(100){(50,50){\circle(200)}} \command(size of frame){(x co-ordinate, y co-ordinate){\shape to draw(size or x co-ordinate, y co-ordinate)}) NOTE: The brace is used to enclose each set of required starting point coordinates. Inside each set of braces, another set of braces is used to isolate each set of coordinates from the other, and those coordinates use their proper brackets and backslash. Count the opening and closing brackets, be careful of the position, $$ \picture(100){(50,50){\circle(200)}}&& The picture frame brings elements together that you may not otherwise see. Because of the frame size of 100px and the centre point of the circle in the mid-point of the frame, the 200px circle will be squashed. Unexpected results occur when sizes are not correct. Using the picture frame, you can layer circles and lines over each other, or they can intersect. $$ \picture(100){(50,50){\circle(99)} (50,50){\circle(80)}} $$ You may want to see an image of a circle with a dot in the middle. You may have to try to place the centre dot correctly, but the ordering of the elements in the image may have an impact. $$ \picture(100){(48,46){\bullet}(50,50){\circle(99)}} $$ Using the same ideas as above, you can make semi-circles. $$\picture(150){(50,50){\circle(100;0,180)}(100,50){\circle(100;180,360)}}$$ Lines Warning: Drawing lines in TeX Notation in Moodle is an issue, go to the Using Text Notation for more information. If the line is not noted properly then the parser will try to correctly draw the line but will not successfully complete it. This means that every image that needs be drawn will be drawn until it hits the error. When the error is being converted, it fails, so no subsequent image is drawn. Be careful and make sure your line works BEFORE you move to the next problem or next image. a couple of lines $$\red \picture(200){(20,0){ \line(180,0)}{(20,180){\line(180,0}$$ The structure of the picture box is that the \picture(200) provides a square image template. The (20,0) provides the starting coordinates for any line that comes after. In this case the start point is at 20pixels in the x axis and 0 pixels in the y axis. The starting point for all coordinates, 0,0, is the bottom left corner and they run in a clockwise manner. Do not confuse this with arcs. The \line(180,0) determines the length and inclination of the line. In this case, the inclination is 0 and the length is 180px. These are enclosed in braces, all inside one set of braces owned by the \picture() control sequence. The next set of commands are the same, that is, the (20,200) are the coordinates of the next line. The x co-ordinate is the 20, that is the distance to the right from the 0 point. The y co-ordinates is the distance from the bottom of the image. Whereas the first line started and ran on the bottom of the picture frame, the y co-ordinate starts at the 200 pixel mark from the bottom of the image. The line, at 180 pixels long and has no y slope. This creates a spread pair of parallel lines. \picture explained While this explains the structure of a line, there is a couple of elements that you need to go through to do more with them. Squares and Rectangles Drawing squares and rectangles is similar, but only slightly different. There should be a square box tool, and there is, but unless it has something inside it, it does not display. It is actually easier to make a square using the \line command. This box is constructed using: $$ \picture(250){(10,10){\line(0,230)}(10,10){\line(230,0)}(240,10){\line(0,230)}(10,240){\line(230,0)}}$$ It is a 250 pixel square box with a 230 pixel square inside it. This box is different in that is has the equal length indicators that are used in a square. $$ \picture(250){(10,10){\line(0,230)} (5,120){\line(10,0)} (10,10){\line(230,0)} (120,5){\line(0,10)} (240,10){\line(0,230)} (235,120){\line(10,0)} (10,240){\line(230,0)} (120,235){\line(0,10)}}$$ The rectangle then becomes the same thing, but with one side shorter. For a portrait canvas it would be: $$ \picture(250){(10,10){\line(0,230)}(10,10){\line(150,0)}(160,10){\line(0,230)}(10,240){\line(150,0)}}$$ The rectangle can also produce a landscape shape: $$ \picture(250){(10,10){\line(0,160)}(10,10){\line(230,0)}(240,10){\line(0,160)}(10,170){\line(230,0)}}$$ Controlling Angles Controlling angles is a little different. They involve a different perception, but not one that is unfamiliar. Consider this: We have a point from which we want to draw a line that is on an angle. The notation used at this point can be positive, positive or positive, negative or negative, positive or negative, negative. Think of it like a number plane or a graph, using directed numbers. The 0,0 point is in the centre, and we have four quadrants around it that give us one of the previously mentioned results. $$\picture(100){(50,50){\line(40,45)}}$$, a positive x and positive y $$\picture(100){(50,50){\line(-40,45)}}$$ a negative x and positive y $$\picture(100){(50,50){\line(-40,-45)}}$$ a negative x and negative y $$\picture(100){(50,50){\line(40,-45)}}$$ a positive x and a negative y Essentially, what these points boil down to is that anything above the insertion point is a positive on the y axis, anything below is a negative. Anything to the left of the insertion point is a negative while everything to the right is a positive. $$\picture(100){(50,50){\line(40,45)}(50,50){\line(-40,45)}(50,50){\line(-40,-45)}(50,50){\line(40,-45)}}$$ The co-ordinate alignment process in TeX is not that good that you can use one set of co-ords as a single starting point for all lines. The layering of each object varies because of the position of the previous object, so each object needs to be exactly placed. This co-ord structure has a great deal of impact on intersecting lines, parallel lines and triangles. Intersecting Lines You can set up an intersecting pair easily enough, using the \picture control sequence. $$ \picture(200){(10,0){\line(150,150)} (0,130){\line(180,-180)}} $$ The lines that are drawn can be labeled. $$ \picture(200){(10,0){\line(150,150)}(0,130){\line(180,-180)} (0,10){A}(0,135){B}(140,0){C}(140,150){D}(62,80){X}} $$ To produce another image. To which you may want to ask the question: $$The \ \angle \ of \ AXB \ is \ 72\textdegree. \ What \ is \ the \ value \ of \ \angle BXD? $$ NOTE: Labeling this image, above-right, turned out to be fairly simple. Offsetting points by a few pixels at the start or end points of the lines proved a successful strategy. The X point proved a little more problematic, and took a number of adjustments before getting it right. Experience here will help. With labels the drawing can become a little more like your traditional geometric drawing, but the devil is in the details. The parallel markers need to be placed properly, and that is where experience really comes into it. On lines that are vertical or horizontal, you can get away with using the > or < directly from the keyboard, or the ≫ {\displaystyle \gg } or ≪ {\displaystyle \ll } symbols. In either case, you need to position them properly. The code: $$\picture(200){(15,45){\line(170,0)} (15,30){c}(170,28){d}(15,160){\line(170,0)}(15,145){e}(180,143){f}(50,20){\line(110,175)}(58,20){a}(140,185){b}(42,32){\kappa}(53,48){\beta} (150,165){\kappa} (90,38){\gg}(80,153){\gg} }$$ Lines and Arcs Combining lines and arcs is a serious challenge actually, on a number of levels. For example, lets take an arc from the first page on circles. Fairly innocuous of itself, but when we start to add in elements, it changes dramatically. $$ \circle(120;90,180) $$ $$\picture(150){(75,75){\circle(120;90,180)}(75,75){\line(-70,0)}(75,75){\line(0,75)}} $$ All elements in this drawing start in the same place. Each is layered, and properly placed on the canvas, and using the same co-ord to start makes it easy to control them. No matter the size of the arc, intersecting lines can all be drawn using the centre co-ords of the arc. Triangles Of all the drawing objects, it is actually triangles that present the most challenge. For example: $$\picture(350){(10,10){\line(0,320)}(10,330){\line(330,0)}(10,10){\line(330,320)}}$$ This is a simple triangle, one that allows us to establish a simple set of rules for the sides. The vertical always has an x=0 co-ord and the horizontal always has a y=0 co-ord. In this case with an x value of 330 on the horizontal, and a y value of 320 on the vertical, the hypotenuse should then have a value of x=340, and the y=330, but not so, they actually have an x=330 and a y=320. There is no need to add the starting point co-ords to the x and y values of the line. $$picture(350){(10,10){\line(330,0)}(340,10){\line(0,320)}(340,330){\line(-330,-320)}}$$ This triangle has been developed for a Trigonometry page - but the additional notation should provide insight into how you can use it. This is a labeled image, but it has an \fbox in it with its little line. With some effort, it could be replaced with two intersecting short lines. $$\picture(350,150){(25,25){\line(300,0)}(325,25){\line(0,110)}(25,25){\line(300,110)}(309,25){\fbox{\line(5,5)}} (307,98){\theta}(135,75){\beta}(150,5){\alpha}(335,75){\epsilon}}$$ The triangle shows like: We use the different elements of the triangle to identify those things we need to know about a right-angled triangle. The hypotenuse is always the side that is opposite the right angle. The longest side is always the Hypotenuse. To identify the other elements of the triangle we look for the sign θ {\displaystyle \theta } . Θ {\displaystyle \Theta } is the starting point for naming the other sides. The side that is opposite ∠ θ {\displaystyle \angle \theta } is known as the Opposite. The side that lies alongside ∠ θ {\displaystyle \angle \theta } is known as the Adjacent side. To determine which is which, draw a line that bisects ∠ θ {\displaystyle \angle \theta } and whatever line it crosses is the Opposite side. The code: $$ \picture(350,250){(25,25){\line(300,0)}(25,25){\line(0,220)}(25,245){\line(300,-220)}(310,25){\circle(100;135,180)}(20,100){\line(310,-75)} (25,25){\fbox{\line(5,5)}}(25,25){\line(150,150)}(165,140){Hypotenuse}(120,2){Adjacent}(2,80){\rotatebox{90}{Opposite}}(270,40){\theta}}$$ Matrices A Matrix is a rectangular array of numbers arranged in rows and columns which can be used to organize numeric information. Matrices can be used to predict trends and outcomes in real situations - i.e. polling. A Matrix A matrix can be written and displayed like In this case the matrix is constructed using the brackets before creating the array: $$ M = \left[\begin{array}{ccc} a&b&1 \\ c&d&2 \\ e&f&3\end{array}\right] $$ The internal structure of the array is generated by the &, ampersand, and the double backslash. You can also create a grid for the matrix. A dashed line A solid line A mixed line $$ M = \left[\begin{array}{c.c.c} a&b&1 \ \hdash c&d&2 \ \hdash e&f&3\end{array}\right] $$ c|c} a&b&1 \ \hline c&d&2 \ \hline e&f&3\end{array}\right] $$ c} a&b&1 \ \hline c&d&2 \ \hdash e&f&3\end{array}\right] $$ The command sequences here are the {c|c.c} and \hdash and \hline. The pipe, |, and the full stop determine the line type for the vertical line. Matrices also respond to other TeX Notation commands such as size and colour. Colour Size $$ \blue M = \left[\begin{array}{c.c.c} a&b&1 \ \hdash c&d&2 \ \hdash e&f&3\end{array}\right] $$ $$ \fs7 M = \left[\begin{array}{c.c.c} a&b&1 \ \hdash c&d&2 \ \hdash e&f&3\end{array}\right] $$ $$ \fs2 M = \left[\begin{array}{c.c.c} a&b&1 \ \hdash c&d&2 \ \hdash e&f&3\end{array}\right] $$ Creating equal and unequal matrices Equal and unequal matrices are simply matrices that either share or not share the same number of rows and columns. To be more precise, equal matrices share the same order and each element in the corresponding positions are equal. Anything else is unequal matrices. Actually equal and unequal matrices are constructed along similar lines, but have different shapes: Equal Matrix An unequal matrix $$ \left[\begin{array} a&b&1 \ c&d&2 \ e&f&3\end{array}\right] \ = \ \left[\begin{array} 12&11&z \ 10&9&y \ 8&7&x\end{array}\right] $$ $$ \left[\begin{array} a&b \ c&d \ e&f \end{array}\right] \ \neq \ \left[\begin{array} 12&11&z \ 10&9&y \ 8&7&x\end{array}\right] $$ Labeling a Matrix Addition and subtraction matrices are similar again, but the presentation is usually very different. The problem comes when trying to mix labels into arrays. The lack of sophistication in the TeX Notation plays against it here. Moodle allows an easy adoption of tables to make it work though. For example: Bill the baker supplies three shops, A, B and C with pies, pasties and sausage rolls. He is expected to determine the stock levels of those three shops in his estimation of supplies. It is better to use the Moodle Fullscreen editor for this, to have a better idea of how the end product will look and to take advantage of the additional tools available. Design decisions need occupy our attention for a while. We need a table of five rows and four columns. The first row is a header row, so the label is centred. The next row needs four columns, a blank cell to start and labels A, B and C. The next three rows are divided into two columns, with the labels, pies, pasties and sausage rolls in each row of the first column and the matrix resides in a merged set of columns there. So first the table: Insert Table - initial properties Merge Cells Button Advanced Properties You may need to look into the Advanced properties setting of the tables and cells to make this work. This is the immediate result: While not a very good look, it can be made better by tweaking the table using the advanced settings and properties buttons and then you can tweak the matrix itself. Tweaking the Matrix Things are not always as they seem, be aware, the "c" does not stand for "column", it actually stands for "centre". The columns are aligned by the letters l, for left, c for centre and r for right. Each column is spread across 50 pixels, so the value of 50 is entered into the alignment declaration. The plus sign before the value is used to "propogate" or to force the value across the whole matrix, but is not used when wanting to separate only one column. To set the rows is a little more problematic. The capital letter C sets the vertical alignment to the centre, (B is for baseline, but that does not guarantee that the numbers will appear on the base line, and there does not appear to be any third value). The plus sign and following value sets the height of all rows to the number given. In this I have given it a value of 25 pixels for the entire matrix. If there were four or five rows, the same height requirement is made. The order things appear is also important. If you change the order of these settings, they will either not work at all, or will not render as you expect them to. If something does not work properly, then check to make sure you have the right order first. An Addition Matrix The rule for performing operations on matrices is that they must be equal matrices. For example, addition matrices look like: with the results obvious. The code is: $$\left[\begin{array}{c+50C+25.c.c} 11&14&12 \ \hdash16&12&22 \ \hdash 14&17&15 \end{array}\right] + \left[\begin{array}{c+50C+25.c.c} 60&60&60 \ \hdash 40&40&30 \ \hdash 30&30&30 \end{array}\right] $$ A Subtraction Matrix Similar to an addition matrix in its construction, the subtraction matrix is subject to the same rules of equality. Using the same essential data, we can calculate the daily sales of each of the shops. The code is: $$ \left[\begin{array}{c+50C+25.c.c} 72&95&68 \ \hdash 54&61&65 \ \hdash 48&51&60 \end{array}\right] - \left[\begin{array}{c+50C+25.c.c} 11&14&12 \ \hdash 16&12&22 \ \hdash 14&17&15 \end{array}\right] = \left[\begin{array}{c+50C+25.c.c} 61&81&56 \ \hdash 38&49&43 \ \hdash 34&34&48 \end{array}\right] $$ This code looks more complex than it really is, it is cluttered by the lines and alignment sequences. Multiplication Matrices Different than the addition or subtraction matrices, the multiplication matrix comes in three parts, the row matrix, the column matrix and the answer matrix. This implies it has a different construction methodology. And the code for this is: $$ \begin{array} 10&14&16\end{array} \ \left[\begin{array} 45 \\ 61 \\ 19 \end{array}\right] \ = \ \begin{array} 450&854&304\end{array} $$ While different, it is not necessarily more complex. For example, a problem like: Bill the baker is selling his product to Con the cafe owner, who wants to make sure his overall prices are profitable for himself. Con needs to make sure that his average price is providing sufficient profit to be able to keep the cafes open. Con makes his calculations on a weekly basis, comparing cost to sale prices. With the pies, pasties and sausage rolls in that order he applies them to the cost and sale price columns : The code for this is: $$\left[\begin{array} 350&310&270 \end{array}\right] \ \left[\begin{array} \$2.10&\$3.60 \ \$2.05&\$3.60 \ \$1.90&\$3.10 \end{array} \right] \ = \ \left[\begin{array} \$735.00&\$1260.00 \ \$635.50&\$1116.00 \ \$513.00&$\837.00 \end{array}\right] $$ How to wrap long MathJax equations As described by Christopher Sangwin: See this documentation. Add CommonHTML: { linebreaks: { automatic: true } }, "HTML-CSS": { linebreaks: { automatic: true } }, SVG: { linebreaks: { automatic: true } } to "filter_mathjaxloader | mathjaxconfig" in the filter settings: Dashboard > Site administration > Plugins > Filters > MathJax Seems to do the trick. See also Mathematics tools FAQ MathJax filter - available in Moodle 2.7 and later TeX notation filter To turn on the TeX Notation DragMath equation editor Chemistry notation using mhchem Source: docs.moodle.org/503/en/Using TeX Notation — MoodleDocs (GPL) · Imported 2026-11-10. Using TeX Notation 2 Note: This page is a work-in-progress. Feedback and suggested improvements are welcome. Please join the discussion on moodle.org or use the . TeX (/'tɛx/tekh, often pronounced TeK in English) is a very widespread and popular way of representing Mathematics notation using only characters that you can type on a keyboard (see Wikipedia). This makes it a useful format to use in Moodle, since it can be entered anywhere you can type text, from forum posts to quiz questions. TeX expressions can be entered in multiple ways: typing them directly into texts. using the Java-based Dragmath editor in Moodle's TinyMCE editor. Afterwards, TeX expressions are rendered into Mathematics notation: using the TeX filter in Moodle, which uses a TeX binary installed on the server to convert expressions into .gif images (or if that is not available, it falls back to a simple built-in mimetex binary). using the MathJax filter which identifies TeX expressions and uses the Mathjax JS library to render them in browsers at display time (since Moodle 2.7). using other third-party solutions. As you can imagine, the whole field is not as simple as we would like, especially because there are many flavours of TeX and slight variations between tools. This page focusses only on using TeX in core Moodle. See the links at the bottom of this page for more information on setting up TeX editors and filters, including other tools from the Moodle community that may be suitable for advanced users. WARNING: This Wiki environment uses a DIFFERENT TeX renderer to Moodle, especially when it comes to control sequences. For this reason images are sometimes used to represent what it should look like in Moodle. YMMV. 1 Language Conventions 2 Equation displayed on its own line 3 Equation displayed within text 4 Reserved Characters and Keywords 5 Superscripts, Subscripts and Roots 6 Fractions 7 Brackets 8 Ellipsis 9 Symbols 10 Arrows 11 Delimiters and Maths Constructs 12 Greek Letters 13 Boolean algebra 14 Fonts 15 Size of displays 16 Colour 17 Geometric Shapes 18 Circles 19 Creating Arcs 20 The \picture Command 21 Lines 22 Squares and Rectangles 23 Controlling Angles 24 Intersecting Lines 25 Lines and Arcs 26 Triangles 27 Matrices 27.1 A Matrix 27.2 Creating equal and unequal matrices 27.3 Labeling a Matrix 27.4 Tweaking the Matrix 27.5 An Addition Matrix 27.6 A Subtraction Matrix 27.7 Multiplication Matrices 27.8 How to wrap long MathJax equations 27.9 See also Language Conventions To identify a TeX sequence in your text, surround it with $$ markers. To invoke a particular command or control sequence, use the backslash, \. A typical control sequence looks like: $$ x\ =\ \frac{\sqrt{144}}{2}\ \times\ (y\ +\ 12) $$ Fraction and square root. Additional spaces can be placed into the equation using the \ without a trailing character. Equation displayed on its own line When an equation is surrounded by a pair of $$ markers, it is displayed centered on its own line. The $$’s are primitive TeX markers. With LaTeX, it is often recommended to use the pair \[ and \] to enclose equations, rather than the $$ markers, because the newer syntax checks for mistyped equations and better adjusts vertical spacing. If the TeX Notation filter is activated, which set a LaTeX renderer, the same equation as above is obtained with the following control sequence: \[ x\ =\ \frac{\sqrt{144}}{2}\ \times\ (y\ +\ 12) \] However, if the equation is mistyped, it will be displayed enclosed in a box to signal the mistake and if the equation appears in a new paragraph, the vertical space above the equation will adjust correctly. Using \[ … \] instead of $$ … $$ may have other advantages. For example, with the Wiris equation editor installed, the Atto editor undesirably transforms the TeX code of equations enclosed with $$ into XML code, whereas it does not do so when the equations are enclosed with \[ and \]. Equation displayed within text With the TeX notation filter activated, an equation is displayed within the text when it is surrounded by the pair \( and \). For example, the following: The point \( \left( {{x}_{0}}+\frac{1}{p\left( {{x}_{0}} \right)}\ ,\ \frac{q\left( {{x}_{0}} \right)}{p\left( {{x}_{0}} \right)} \right) \) is located... will display as follows: Note that the single $ marks may not work for this purpose. Reserved Characters and Keywords Most characters and numbers on the keyboard can be used at their default value. As with any computing language, though, there are a set of reserved characters and keywords that are used by the program for its own purposes. TeX Notation is no different, but it does have a very small set of Reserved Characters. This will not be a complete list of reserved characters, but some of these are: @ # $ % ^ & * ( ) . To use these characters in an equation just place the \ in front of them like \$ or \%. If you want to use the backslash, just use \backslash. The only exception here seems to be the &, ampersand. Superscripts, Subscripts and Roots Superscripts are recorded using the caret, ^, symbol. An example for a Maths class might be: $$ 4^2 \ \times \ 4^3 \ = 4^5 $$ This is a shorthand way of saying: (4 x 4) x (4 x 4 x 4) = (4 x 4 x 4 x 4 x 4) or 16 x 64 = 1024. 4 2   ×   4 3   = 4 5 {\displaystyle 4^{2}\ \times \ 4^{3}\ =4^{5}} Subscripts are similar, but use the underscore character. $$ 3x_2 \ \times \ 2x_3 $$ 3 x 2   ×   2 x 3 {\displaystyle 3x_{2}\ \times \ 2x_{3}} This is OK if you want superscripts or subscripts, but square roots are a little different. This uses a control sequence. $$ \sqrt{64} \ = \ 8 $$ 64   =   8 {\displaystyle {\sqrt {64}}\ =\ 8} You can also take this a little further, but adding in a control character. You may ask a question like: $$ If \ \sqrt[n]{1024} \ = \ 4, \ what \ is \ the \ value \ of \ n? $$ I f   1024 n   =   4 ,   w h a t   i s   t h e   v a l u e   o f   n ? {\displaystyle If\ {\sqrt[{n}]{1024}}\ =\ 4,\ what\ is\ the\ value\ of\ n?} Using these different commands allows you to develop equations like: $$ The \sqrt{64} \ \times \ 2 \ \times \ 4^3 \ = \ 1024 $$ T h e 64   ×   2   ×   4 3   =   1024 {\displaystyle The{\sqrt {64}}\ \times \ 2\ \times \ 4^{3}\ =\ 1024} Superscripts, Subscripts and roots can also be noted in Matrices. Fractions Fractions in TeX are actually simple, as long as you remember the rules. $$ \frac{numerator}{denominator} $$ which produces n u m e r a t o r d e n o m i n a t o r {\displaystyle {\frac {numerator}{denominator}}} . This can be given as: 5 10   i s   e q u a l   t o   1 2 {\displaystyle {\frac {5}{10}}\ is\ equal\ to\ {\frac {1}{2}}} . This is entered as: $$ \frac{5}{10} \ is \ equal \ to \ \frac{1}{2}.$$ With fractions (as with other commands) the curly brackets can be nested so that for example you can implement negative exponents in fractions. As you can see, $$\frac {5^{-2}}{3}$$ will produce 5 − 2 3 {\displaystyle {\frac {5^{-2}}{3}}} $$\left(\frac{3}{4}\right)^{-3}$$ will produce ( 3 4 ) − 3 {\displaystyle \left({\frac {3}{4}}\right)^{-3}} and $$\frac{3}{4^{-3}}$$ will produce 3 4 − 3 {\displaystyle {\frac {3}{4^{-3}}}} You likely do not want to use $$\frac{3}{4}^{-3}$$ as it produces 3 4 − 3 {\displaystyle {\frac {3}{4}}^{-3}} You can also use fractions and negative exponents in Matrices. Brackets As students advance through Maths, they come into contact with brackets. Algebraic notation depends heavily on brackets. The usual keyboard values of ( and ) are useful, for example: d = 2   ×   ( 4   −   j ) {\displaystyle d=2\ \times \ (4\ -\ j)} This is written as: $$ d = 2 \ \times \ (4 \ - \ j) $$ Usually, these brackets are enough for most formulae but they will not be in some circumstances. Consider this: 4 x 3   +   ( x   +   42 1 + x 4 ) {\displaystyle 4x^{3}\ +\ (x\ +\ {\frac {42}{1+x^{4}}})} Is OK, but try it this way: 4 x 3   +   ( x   +   42 1 + x 4 ) {\displaystyle 4x^{3}\ +\ \left(x\ +\ {\frac {42}{1+x^{4}}}\right)} This can be achieved by: $$ 4x^3 \ + \ \left(x \ + \ \frac{42}{1 + x^4}\right) $$ A simple change using the \left( and \right) symbols instead. Note the actual bracket is both named and presented. Brackets are almost essential in Matrices. Ellipsis The Ellipsis is a simple code: x 1 ,   x 2 ,   … ,   x n {\displaystyle x_{1},\ x_{2},\ \ldots ,\ x_{n}} Written like: $$ x_1, \ x_2, \ \ldots, \ x_n $$ A more practical application could be: Question: "Add together all the numbers from 1 … {\displaystyle \ldots } 38. What is an elegant and simple solution to this problem? Can you create an algebraic function to explain this solution? Will your solution work for all numbers?" Answer: The question uses an even number to demonstrate a mathematical process and generate an algebraic formula. Part 1: Part 2. Part 3. 1.   1   +   38   =   39 {\displaystyle 1.\ 1\ +\ 38\ =\ 39} 2.   2   +   37   =   39 {\displaystyle 2.\ 2\ +\ 37\ =\ 39} 3.   3   +   36   =   39 {\displaystyle 3.\ 3\ +\ 36\ =\ 39} … {\displaystyle \ldots } 19.19   +   20   =   39 {\displaystyle 19.19\ +\ 20\ =\ 39} ∴ x   =   39   ×   19 {\displaystyle \therefore x\ =\ 39\ \times \ 19} ∴ x   =   741 {\displaystyle \therefore x\ =\ 741} An algebraic function might read something like: t = ( 1 + n ) × n / 2 {\displaystyle t=(1+n)\times n/2} Where t = total and n = the last number. The solution is that, using the largest and the smallest numbers, the numbers are added and then multiplied by the number of different combinations to produce the same result adding the first and last numbers. The answer must depend on the number, n 2 {\displaystyle {\frac {n}{2}}} being a whole number. Therefore, the solution will not work for an odd range of numbers, only an even range. Symbols These are not all the symbols that may be available in TeX Notation for Moodle, just the ones that I have found to work in Moodle. \amalg ⨿ {\displaystyle \amalg } \cup ∪ {\displaystyle \cup } \oplus ⊕ {\displaystyle \oplus } \times × {\displaystyle \times } \ast ∗ {\displaystyle \ast } \dagger † {\displaystyle \dagger } \oslash ⊘ {\displaystyle \oslash } \triangleleft ◃ {\displaystyle \triangleleft } \bigcirc ◯ {\displaystyle \bigcirc } \ddagger ‡ {\displaystyle \ddagger } \otimes ⊗ {\displaystyle \otimes } \triangleright ▹ {\displaystyle \triangleright } \bigtriangledown ▽ {\displaystyle \bigtriangledown } \diamond ⋄ {\displaystyle \diamond } \pm ± {\displaystyle \pm } \odot ⊙ {\displaystyle \odot } \bigtriangleup △ {\displaystyle \bigtriangleup } \div ÷ {\displaystyle \div } \ominus ⊖ {\displaystyle \ominus } \wr ≀ {\displaystyle \wr } \circ ∘ {\displaystyle \circ } \wedge ∧ {\displaystyle \wedge } \vee ∨ {\displaystyle \vee } \sqcup ⊔ {\displaystyle \sqcup } \leq ≤ {\displaystyle \leq } \geq ≥ {\displaystyle \geq } \equiv ≡ {\displaystyle \equiv } \prec ≺ {\displaystyle \prec } \succ ≻ {\displaystyle \succ } \sim ∼ {\displaystyle \sim } \perp ⊥ {\displaystyle \perp } \preceq ⪯ {\displaystyle \preceq } \succeq ⪰ {\displaystyle \succeq } \simeq ≃ {\displaystyle \simeq } \mid ∣ {\displaystyle \mid } \ll ≪ {\displaystyle \ll } \gg ≫ {\displaystyle \gg } \asymp ≍ {\displaystyle \asymp } \parallel ∥ {\displaystyle \parallel } \subset ⊂ {\displaystyle \subset } \supset ⊃ {\displaystyle \supset } \subseteq ⊆ {\displaystyle \subseteq } \supseteq ⊇ {\displaystyle \supseteq } \approx ≈ {\displaystyle \approx } \neq ≠ {\displaystyle \neq } \ni Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \ni} \notin Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \notin} \in Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \ni} \vdash Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \vdash} \dashv Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \dashv} \bullet Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \bullet} \cdot Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \cdot} Arrows \leftarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \leftarrow} \longleftarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \longleftarrow} \Leftarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Leftarrow} \Longleftarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Longleftarrow} \rightarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \rightarrow} \longrightarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \longrightarrow} \Rightarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Rightarrow} \Longrightarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Longrightarrow} \uparrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \uparrow} \Uparrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Uparrow} \downarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \downarrow} \Downarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Downarrow} \leftrightarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \leftrightarrow} \longleftrightarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \longleftrightarrow} \updownarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \updownarrow} \Updownarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Updownarrow} \Leftrightarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Leftrightarrow} \Longleftrightarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Longleftrightarrow} \leftrightharpoons Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \rightleftharpoons} \Im Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Im} \nearrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \nearrow} \nwarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \nwarrow} \swarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \swarrow} \searrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \searrow} Delimiters and Maths Constructs NOTE: Most delimiters and constructs need additional parameters for them to appear appropriately. \{x Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \{x } \} Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle x | \} } \rangle Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \rangle } \langle Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \langle } \angle Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \angle } \= Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \| } \sqrt{ab} Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \sqrt{ab}} \sqrt[n]{ab} Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \sqrt[n]{ab}} \frac{ab}{cd} Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \frac{ab}{cd}} \backslash Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \backslash} \widehat{ab} Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \widehat{ab}} \$ Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \$ } \overline{ab} Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \overline{ab}} \underline{ab} Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \underline{ab}} \therefore Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \therefore} \ddots Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \ddots} \% Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \%} \# Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \# } \vdots Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \vdots} \emptyset Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \emptyset} WARNINGS: The & character in LaTeX usually requires a backslash, \. In TeX Notation for Moodle, apparently, it does not. Other packages, AsciiMath, may use it differently again so be careful using it. The copyright character may use the MimeTeX charset, and produces a copyright notice for John Forkosh Associates who provided a lot of the essential packages for the TeX Notation for Moodle, so I understand. I have been, almost reliably, informed that a particular instruction will produce a different notice though .:) There are also a number of characters that can be used in TeX Notation for Moodle but do not render in this page: Larger \left(x and \right) brackets \widetilde{ab} \textdegree or (50)^\circ Greek Letters Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \alpha} \alpha Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \beta} \beta Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \gamma} \gamma Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \delta} \delta Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \epsilon} \epsilon Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \zeta} \zeta Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \eta} \eta Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \theta} \theta Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \iota} \iota Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \kappa} \kappa Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \lambda} \lambda Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \mu} \mu Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \xi} \xi Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \pi} \pi Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \rho} \rho Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \sigma} \sigma Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \tau} \tau Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \upsilon} \upsilon Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \phi} \phi Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \chi} \chi Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \psi} \psi Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \omega} \omega Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Omega} \Omega Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Theta} \Theta Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Delta} \Delta Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Pi} \Pi Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Phi} \Phi Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Gamma } \Gamma Λ {\displaystyle \Lambda } \Lambda Σ {\displaystyle \Sigma } \Sigma Ψ {\displaystyle \Psi } \Psi Ξ {\displaystyle \Xi } \Xi Υ {\displaystyle \Upsilon } \Upsilon ϑ {\displaystyle \vartheta } \vartheta ϱ {\displaystyle \varrho } \varrho φ {\displaystyle \varphi } \varphi ς {\displaystyle \varsigma } \varsigma Notable Exceptions Greek letter omicron (traditionally, mathematicians don't make much use of omicron due to possible confusion with zero). Simply put, lowercase omicron is an "o" redered as o. But note \omicron may now work with recent TeX implementations including MathJax. At the time of writing, these Greek capital letters cannot be rendered by TeX Notation in Moodle: Alpha, Beta, Zeta, Eta, Tau, Chi, Mu, Iota, Kappa and Epsilon. TeX methematics adopts the convention that lowercase Greek symbols are displayed as italics whereas uppercase Greek symbols are displayed as upright characters. Therefore, the missing Greek capital letters can simply be represented by the \mathrm{ } equivalent A , B , Z , H , T , X , M , I , K , E {\displaystyle \mathrm {A,B,Z,H,T,X,M,I,K,E} } Boolean algebra There are a number of different conventions for representing Boolean (logic) algebra. Common conventions used in computer science and electronics are detailed below: Negation, NOT, ¬, !, ~, − \lnot, !, \sim, \overline{ } Conjunction, AND, ∧, ⋅ {\displaystyle \cdot } \land, \wedge, \cdot Dysjunction, OR, ∨, +, \lor, \vee, + Exclusive dysjunction, XOR ⊻, ⊕ \veebar, \oplus Equivalence, If and only if, Iff, ≡, ↔, ⇔ \equiv, \leftrightarrow \iff Example: two representations of De Morgan's laws: A ⋅ B = A ¯ + B ¯ ¯ {\displaystyle A\cdot B={\overline {{\overline {A}}+{\overline {B}}}}} $$ A \cdot B = \overline{\overline{A} + \overline{B}} SS ( A ∧ B ) ≡ ¬ ( ¬ A ∨ ¬ B ) {\displaystyle (A\land B)\equiv \lnot (\lnot {A}\lor \lnot {B})} $$ (A \land B) \equiv \lnot(\lnot{A} \lor \lnot{B}) $$ Fonts To use a particular font you need to access the font using the same syntax as demonstrated above. A math calligraphic font: A B C D E F G H I J K L M N O P Q R S T U V X Y Z {\displaystyle {\mathcal {ABCDEFGHIJKLMNOPQRSTUVXYZ}}} or $$ \mathcal{ABCDEFGHIJKLMNOPQRSTUVXYZ}$$ Blackboard bold, a Castellar type font: A B C D E F G H I J K L M N O P Q R S T U V X Y Z {\displaystyle \mathbb {ABCDEFGHIJKLMNOPQRSTUVXYZ} } or $$ \mathbb{ABCDEFGHIJKLMNOPQRSTUVXYZ}$$ Often used in number theory. For example: N {\displaystyle \mathbb {N} } = set of natural numbers including 0 {0, 1, 2, 3, ...}, Z {\displaystyle \mathbb {Z} } = set of integers {-..., -3, -2, -1, 0, 1, 2, 3, ... }, Q {\displaystyle \mathbb {Q} } = set of rational numbers, including integers, R {\displaystyle \mathbb {R} } = set of real numbers, which includes the natural numbers, rational numbers and irrational numbers. Fraktur, an Old English type font: A B C D E F G H I J K L M N O P Q R S T U V X Y Z {\displaystyle {\mathfrak {ABCDEFGHIJKLMNOPQRSTUVXYZ}}} or $$ \mathfrak{ABCDEFGHIJKLMNOPQRSTUVXYZ}$$ This is different in Tex Notation in Moodle than it is for other, full, TeX packages. An italic font: A B C D E F G H I J K L M N O P Q R S T U V X Y Z {\displaystyle {\mathit {ABCDEFGHIJKLMNOPQRSTUVXYZ}}} or $$ \mathit{ABCDEFGHIJKLMNOPQRSTUVXYZ} $$ A normal, upright non-italic, Roman font: A B C D E F G H I J K L M N O P Q R S T U V X Y Z {\displaystyle \mathrm {ABCDEFGHIJKLMNOPQRSTUVXYZ} } or $$ \mathrm{ABCDEFGHIJKLMNOPQRSTUVXYZ} $$ A bold-face font: A B C D E F G H I J K L M N O P Q R S T U V X Y Z {\displaystyle \mathbf {ABCDEFGHIJKLMNOPQRSTUVXYZ} } or $$ \mathbf{ABCDEFGHIJKLMNOPQRSTUVXYZ} $$ Size of displays The default size is rendered slightly larger than normal font size. TeX Notation in Moodle uses eight different sizes ranging from "tiny" to "huge". However,these values seem to mean different things and are, I suspect, dependent upon the User's screen resolution. The sizes can be noted in four different ways: \fontsize{0} to \fontsize{7} $$\fontsize{2} x \ = \ \frac{\sqrt{144}}{2} \ \times \ (y \ + \ 12)$$ \fs{0} to \fs{7} $$\fs{4} x \ = \ \frac{\sqrt{144}}{2} \ \times \ (y \ + \ 12)$$ \fs0 to \fs7 $$\fs6 x \ = \ \frac{\sqrt{144}}{2} \ \times \ (y \ + \ 12)$$ As well, you can use \tiny \small \normalsize \large \Large \LARGE \huge \Huge $$\normalsize x \ = \ \frac{\sqrt{144}}{2} \ \times \ (y \ + \ 12)$$ It appears that TeX Notation in Moodle now allows \fs6, \fs7, \huge and \Huge to be properly rendered. Colour Unlike many scripting languages, we only need to name the colour we want to use. You may have to experiment a little with colours, but it will make for a brighter page. Once named, the entire statement will appear in the colour, and if you mix colours, the last named colour will dominate. Some examples: $$ \red x \ = \ \frac{\sqrt{144}}{2} \ \times \ (y \ + \ 12) $$ $$ \blue x \ = \ \frac{\sqrt{144}}{2} \ \times \ (y \ + \ 12) $$ $$ \green x \ = \ \frac{\sqrt{144}}{2} \ \times \ (y \ + \ 12) $$ $$ \red x \ = \ \frac{\sqrt{144}}{2}$$ $$ \times $$ $$\green (y \ + \ 12) $$ $$ \ = $$ $$ \ \blue 6^3 $$ Moodle 2.2 note: You may find this doesn't work for you. You can try to add "\usepackage{color}" to your tex notation setting "LaTeX preamble" (under Site administration/Plugins/Filters/TeX notation)and then use this new syntax: $$ \color{red} x \ = \ \frac{\sqrt{144}}{2} \ \times \ (y \ + \ 12) $$ You may note this last one, it is considerably more complex than the previous for colours. TeX Notation in Windows does not allow multicoloured equations, if you name a number of colours in the equation, only the last named will be used. Geometric Shapes There are two ways to produce geometric shapes, one is with circles and the other is with lines. Each take a bit of practice to get right, but they can provide some simple geometry. It may be easier to produce the shapes in Illustrator or Paint Shop Pro or any one of a number of other drawing packages and use them to illustrate your lessons, but sometimes, some simple diagrams in Moodle will do a better job. Circles Circles are easy to make. Circles are easily created, and only needs a number to determine how large the circle is. To create the circle use $$ \circle(150) $$. This makes a circle of 150 pixels in diameter. Creating Arcs Arcs are also easy to produce, but require some additional parameters. The same code structure used in circles create the basic shape, but the inclusion of a start and end point creates only the arc. However, notice where the 0 point is, not at the true North, but rather the East and run in an anti-clockwise direction. $$ \circle(120;90,180)$$ $$ \circle(120;0,90)$$ $$ \circle(120;180,270)$$ $$ \circle(120;270,360)$$ This structure breaks down into the \circle command followed by the diameter, not the radius, of the circle, followed by a semi-colon, then the demarcation of the arc, the nomination of the start and end points in degrees from the 0, East, start point. Note that the canvas is the size of the diameter nominated by the circle's parameters. The \picture Command Using circles and arcs as shown above is somewhat limiting. The \picture command allows you to use a frame in which to build a picture of many layers. Each part of the picture though needs to be in its own space, and while this frame allows you to be creative, to a degree, there are some very hard and fast rules about using it. All elements of a picture need to be located within the picture frame. Unexpected results occur when parts of an arc, for example, runs over the border of the frame. (This is particularly true of lines, which we will get to next, and the consequences of that overstepping of the border can cause serious problems.) The \picture command is structured like: \picture(100){(50,50){\circle(200)}} \command(size of frame){(x co-ordinate, y co-ordinate){\shape to draw(size or x co-ordinate, y co-ordinate)}) NOTE: The brace is used to enclose each set of required starting point coordinates. Inside each set of braces, another set of braces is used to isolate each set of coordinates from the other, and those coordinates use their proper brackets and backslash. Count the opening and closing brackets, be careful of the position, $$ \picture(100){(50,50){\circle(200)}}&& The picture frame brings elements together that you may not otherwise see. Because of the frame size of 100px and the centre point of the circle in the mid-point of the frame, the 200px circle will be squashed. Unexpected results occur when sizes are not correct. Using the picture frame, you can layer circles and lines over each other, or they can intersect. $$ \picture(100){(50,50){\circle(99)} (50,50){\circle(80)}} $$ You may want to see an image of a circle with a dot in the middle. You may have to try to place the centre dot correctly, but the ordering of the elements in the image may have an impact. $$ \picture(100){(48,46){\bullet}(50,50){\circle(99)}} $$ Using the same ideas as above, you can make semi-circles. $$\picture(150){(50,50){\circle(100;0,180)}(100,50){\circle(100;180,360)}}$$ Lines Warning: Drawing lines in TeX Notation in Moodle is an issue, go to the Using Text Notation for more information. If the line is not noted properly then the parser will try to correctly draw the line but will not successfully complete it. This means that every image that needs be drawn will be drawn until it hits the error. When the error is being converted, it fails, so no subsequent image is drawn. Be careful and make sure your line works BEFORE you move to the next problem or next image. a couple of lines $$\red \picture(200){(20,0){ \line(180,0)}{(20,180){\line(180,0}$$ The structure of the picture box is that the \picture(200) provides a square image template. The (20,0) provides the starting coordinates for any line that comes after. In this case the start point is at 20pixels in the x axis and 0 pixels in the y axis. The starting point for all coordinates, 0,0, is the bottom left corner and they run in a clockwise manner. Do not confuse this with arcs. The \line(180,0) determines the length and inclination of the line. In this case, the inclination is 0 and the length is 180px. These are enclosed in braces, all inside one set of braces owned by the \picture() control sequence. The next set of commands are the same, that is, the (20,200) are the coordinates of the next line. The x co-ordinate is the 20, that is the distance to the right from the 0 point. The y co-ordinates is the distance from the bottom of the image. Whereas the first line started and ran on the bottom of the picture frame, the y co-ordinate starts at the 200 pixel mark from the bottom of the image. The line, at 180 pixels long and has no y slope. This creates a spread pair of parallel lines. \picture explained While this explains the structure of a line, there is a couple of elements that you need to go through to do more with them. Squares and Rectangles Drawing squares and rectangles is similar, but only slightly different. There should be a square box tool, and there is, but unless it has something inside it, it does not display. It is actually easier to make a square using the \line command. This box is constructed using: $$ \picture(250){(10,10){\line(0,230)}(10,10){\line(230,0)}(240,10){\line(0,230)}(10,240){\line(230,0)}}$$ It is a 250 pixel square box with a 230 pixel square inside it. This box is different in that is has the equal length indicators that are used in a square. $$ \picture(250){(10,10){\line(0,230)} (5,120){\line(10,0)} (10,10){\line(230,0)} (120,5){\line(0,10)} (240,10){\line(0,230)} (235,120){\line(10,0)} (10,240){\line(230,0)} (120,235){\line(0,10)}}$$ The rectangle then becomes the same thing, but with one side shorter. For a portrait canvas it would be: $$ \picture(250){(10,10){\line(0,230)}(10,10){\line(150,0)}(160,10){\line(0,230)}(10,240){\line(150,0)}}$$ The rectangle can also produce a landscape shape: $$ \picture(250){(10,10){\line(0,160)}(10,10){\line(230,0)}(240,10){\line(0,160)}(10,170){\line(230,0)}}$$ Controlling Angles Controlling angles is a little different. They involve a different perception, but not one that is unfamiliar. Consider this: We have a point from which we want to draw a line that is on an angle. The notation used at this point can be positive, positive or positive, negative or negative, positive or negative, negative. Think of it like a number plane or a graph, using directed numbers. The 0,0 point is in the centre, and we have four quadrants around it that give us one of the previously mentioned results. $$\picture(100){(50,50){\line(40,45)}}$$, a positive x and positive y $$\picture(100){(50,50){\line(-40,45)}}$$ a negative x and positive y $$\picture(100){(50,50){\line(-40,-45)}}$$ a negative x and negative y $$\picture(100){(50,50){\line(40,-45)}}$$ a positive x and a negative y Essentially, what these points boil down to is that anything above the insertion point is a positive on the y axis, anything below is a negative. Anything to the left of the insertion point is a negative while everything to the right is a positive. $$\picture(100){(50,50){\line(40,45)}(50,50){\line(-40,45)}(50,50){\line(-40,-45)}(50,50){\line(40,-45)}}$$ The co-ordinate alignment process in TeX is not that good that you can use one set of co-ords as a single starting point for all lines. The layering of each object varies because of the position of the previous object, so each object needs to be exactly placed. This co-ord structure has a great deal of impact on intersecting lines, parallel lines and triangles. Intersecting Lines You can set up an intersecting pair easily enough, using the \picture control sequence. $$ \picture(200){(10,0){\line(150,150)} (0,130){\line(180,-180)}} $$ The lines that are drawn can be labeled. $$ \picture(200){(10,0){\line(150,150)}(0,130){\line(180,-180)} (0,10){A}(0,135){B}(140,0){C}(140,150){D}(62,80){X}} $$ To produce another image. To which you may want to ask the question: $$The \ \angle \ of \ AXB \ is \ 72\textdegree. \ What \ is \ the \ value \ of \ \angle BXD? $$ NOTE: Labeling this image, above-right, turned out to be fairly simple. Offsetting points by a few pixels at the start or end points of the lines proved a successful strategy. The X point proved a little more problematic, and took a number of adjustments before getting it right. Experience here will help. With labels the drawing can become a little more like your traditional geometric drawing, but the devil is in the details. The parallel markers need to be placed properly, and that is where experience really comes into it. On lines that are vertical or horizontal, you can get away with using the > or < directly from the keyboard, or the ≫ {\displaystyle \gg } or ≪ {\displaystyle \ll } symbols. In either case, you need to position them properly. The code: $$\picture(200){(15,45){\line(170,0)} (15,30){c}(170,28){d}(15,160){\line(170,0)}(15,145){e}(180,143){f}(50,20){\line(110,175)}(58,20){a}(140,185){b}(42,32){\kappa}(53,48){\beta} (150,165){\kappa} (90,38){\gg}(80,153){\gg} }$$ Lines and Arcs Combining lines and arcs is a serious challenge actually, on a number of levels. For example, lets take an arc from the first page on circles. Fairly innocuous of itself, but when we start to add in elements, it changes dramatically. $$ \circle(120;90,180) $$ $$\picture(150){(75,75){\circle(120;90,180)}(75,75){\line(-70,0)}(75,75){\line(0,75)}} $$ All elements in this drawing start in the same place. Each is layered, and properly placed on the canvas, and using the same co-ord to start makes it easy to control them. No matter the size of the arc, intersecting lines can all be drawn using the centre co-ords of the arc. Triangles Of all the drawing objects, it is actually triangles that present the most challenge. For example: $$\picture(350){(10,10){\line(0,320)}(10,330){\line(330,0)}(10,10){\line(330,320)}}$$ This is a simple triangle, one that allows us to establish a simple set of rules for the sides. The vertical always has an x=0 co-ord and the horizontal always has a y=0 co-ord. In this case with an x value of 330 on the horizontal, and a y value of 320 on the vertical, the hypotenuse should then have a value of x=340, and the y=330, but not so, they actually have an x=330 and a y=320. There is no need to add the starting point co-ords to the x and y values of the line. $$picture(350){(10,10){\line(330,0)}(340,10){\line(0,320)}(340,330){\line(-330,-320)}}$$ This triangle has been developed for a Trigonometry page - but the additional notation should provide insight into how you can use it. This is a labeled image, but it has an \fbox in it with its little line. With some effort, it could be replaced with two intersecting short lines. $$\picture(350,150){(25,25){\line(300,0)}(325,25){\line(0,110)}(25,25){\line(300,110)}(309,25){\fbox{\line(5,5)}} (307,98){\theta}(135,75){\beta}(150,5){\alpha}(335,75){\epsilon}}$$ The triangle shows like: We use the different elements of the triangle to identify those things we need to know about a right-angled triangle. The hypotenuse is always the side that is opposite the right angle. The longest side is always the Hypotenuse. To identify the other elements of the triangle we look for the sign θ {\displaystyle \theta } . Θ {\displaystyle \Theta } is the starting point for naming the other sides. The side that is opposite ∠ θ {\displaystyle \angle \theta } is known as the Opposite. The side that lies alongside ∠ θ {\displaystyle \angle \theta } is known as the Adjacent side. To determine which is which, draw a line that bisects ∠ θ {\displaystyle \angle \theta } and whatever line it crosses is the Opposite side. The code: $$ \picture(350,250){(25,25){\line(300,0)}(25,25){\line(0,220)}(25,245){\line(300,-220)}(310,25){\circle(100;135,180)}(20,100){\line(310,-75)} (25,25){\fbox{\line(5,5)}}(25,25){\line(150,150)}(165,140){Hypotenuse}(120,2){Adjacent}(2,80){\rotatebox{90}{Opposite}}(270,40){\theta}}$$ Matrices A Matrix is a rectangular array of numbers arranged in rows and columns which can be used to organize numeric information. Matrices can be used to predict trends and outcomes in real situations - i.e. polling. A Matrix A matrix can be written and displayed like In this case the matrix is constructed using the brackets before creating the array: $$ M = \left[\begin{array}{ccc} a&b&1 \\ c&d&2 \\ e&f&3\end{array}\right] $$ The internal structure of the array is generated by the &, ampersand, and the double backslash. You can also create a grid for the matrix. A dashed line A solid line A mixed line $$ M = \left[\begin{array}{c.c.c} a&b&1 \ \hdash c&d&2 \ \hdash e&f&3\end{array}\right] $$ c|c} a&b&1 \ \hline c&d&2 \ \hline e&f&3\end{array}\right] $$ c} a&b&1 \ \hline c&d&2 \ \hdash e&f&3\end{array}\right] $$ The command sequences here are the {c|c.c} and \hdash and \hline. The pipe, |, and the full stop determine the line type for the vertical line. Matrices also respond to other TeX Notation commands such as size and colour. Colour Size $$ \blue M = \left[\begin{array}{c.c.c} a&b&1 \ \hdash c&d&2 \ \hdash e&f&3\end{array}\right] $$ $$ \fs7 M = \left[\begin{array}{c.c.c} a&b&1 \ \hdash c&d&2 \ \hdash e&f&3\end{array}\right] $$ $$ \fs2 M = \left[\begin{array}{c.c.c} a&b&1 \ \hdash c&d&2 \ \hdash e&f&3\end{array}\right] $$ Creating equal and unequal matrices Equal and unequal matrices are simply matrices that either share or not share the same number of rows and columns. To be more precise, equal matrices share the same order and each element in the corresponding positions are equal. Anything else is unequal matrices. Actually equal and unequal matrices are constructed along similar lines, but have different shapes: Equal Matrix An unequal matrix $$ \left[\begin{array} a&b&1 \ c&d&2 \ e&f&3\end{array}\right] \ = \ \left[\begin{array} 12&11&z \ 10&9&y \ 8&7&x\end{array}\right] $$ $$ \left[\begin{array} a&b \ c&d \ e&f \end{array}\right] \ \neq \ \left[\begin{array} 12&11&z \ 10&9&y \ 8&7&x\end{array}\right] $$ Labeling a Matrix Addition and subtraction matrices are similar again, but the presentation is usually very different. The problem comes when trying to mix labels into arrays. The lack of sophistication in the TeX Notation plays against it here. Moodle allows an easy adoption of tables to make it work though. For example: Bill the baker supplies three shops, A, B and C with pies, pasties and sausage rolls. He is expected to determine the stock levels of those three shops in his estimation of supplies. It is better to use the Moodle Fullscreen editor for this, to have a better idea of how the end product will look and to take advantage of the additional tools available. Design decisions need occupy our attention for a while. We need a table of five rows and four columns. The first row is a header row, so the label is centred. The next row needs four columns, a blank cell to start and labels A, B and C. The next three rows are divided into two columns, with the labels, pies, pasties and sausage rolls in each row of the first column and the matrix resides in a merged set of columns there. So first the table: Insert Table - initial properties Merge Cells Button Advanced Properties You may need to look into the Advanced properties setting of the tables and cells to make this work. This is the immediate result: While not a very good look, it can be made better by tweaking the table using the advanced settings and properties buttons and then you can tweak the matrix itself. Tweaking the Matrix Things are not always as they seem, be aware, the "c" does not stand for "column", it actually stands for "centre". The columns are aligned by the letters l, for left, c for centre and r for right. Each column is spread across 50 pixels, so the value of 50 is entered into the alignment declaration. The plus sign before the value is used to "propogate" or to force the value across the whole matrix, but is not used when wanting to separate only one column. To set the rows is a little more problematic. The capital letter C sets the vertical alignment to the centre, (B is for baseline, but that does not guarantee that the numbers will appear on the base line, and there does not appear to be any third value). The plus sign and following value sets the height of all rows to the number given. In this I have given it a value of 25 pixels for the entire matrix. If there were four or five rows, the same height requirement is made. The order things appear is also important. If you change the order of these settings, they will either not work at all, or will not render as you expect them to. If something does not work properly, then check to make sure you have the right order first. An Addition Matrix The rule for performing operations on matrices is that they must be equal matrices. For example, addition matrices look like: with the results obvious. The code is: $$\left[\begin{array}{c+50C+25.c.c} 11&14&12 \ \hdash16&12&22 \ \hdash 14&17&15 \end{array}\right] + \left[\begin{array}{c+50C+25.c.c} 60&60&60 \ \hdash 40&40&30 \ \hdash 30&30&30 \end{array}\right] $$ A Subtraction Matrix Similar to an addition matrix in its construction, the subtraction matrix is subject to the same rules of equality. Using the same essential data, we can calculate the daily sales of each of the shops. The code is: $$ \left[\begin{array}{c+50C+25.c.c} 72&95&68 \ \hdash 54&61&65 \ \hdash 48&51&60 \end{array}\right] - \left[\begin{array}{c+50C+25.c.c} 11&14&12 \ \hdash 16&12&22 \ \hdash 14&17&15 \end{array}\right] = \left[\begin{array}{c+50C+25.c.c} 61&81&56 \ \hdash 38&49&43 \ \hdash 34&34&48 \end{array}\right] $$ This code looks more complex than it really is, it is cluttered by the lines and alignment sequences. Multiplication Matrices Different than the addition or subtraction matrices, the multiplication matrix comes in three parts, the row matrix, the column matrix and the answer matrix. This implies it has a different construction methodology. And the code for this is: $$ \begin{array} 10&14&16\end{array} \ \left[\begin{array} 45 \\ 61 \\ 19 \end{array}\right] \ = \ \begin{array} 450&854&304\end{array} $$ While different, it is not necessarily more complex. For example, a problem like: Bill the baker is selling his product to Con the cafe owner, who wants to make sure his overall prices are profitable for himself. Con needs to make sure that his average price is providing sufficient profit to be able to keep the cafes open. Con makes his calculations on a weekly basis, comparing cost to sale prices. With the pies, pasties and sausage rolls in that order he applies them to the cost and sale price columns : The code for this is: $$\left[\begin{array} 350&310&270 \end{array}\right] \ \left[\begin{array} \$2.10&\$3.60 \ \$2.05&\$3.60 \ \$1.90&\$3.10 \end{array} \right] \ = \ \left[\begin{array} \$735.00&\$1260.00 \ \$635.50&\$1116.00 \ \$513.00&$\837.00 \end{array}\right] $$ How to wrap long MathJax equations As described by Christopher Sangwin: See this documentation. Add CommonHTML: { linebreaks: { automatic: true } }, "HTML-CSS": { linebreaks: { automatic: true } }, SVG: { linebreaks: { automatic: true } } to "filter_mathjaxloader | mathjaxconfig" in the filter settings: Dashboard > Site administration > Plugins > Filters > MathJax Seems to do the trick. See also Mathematics tools FAQ MathJax filter - available in Moodle 2.7 and later TeX notation filter To turn on the TeX Notation DragMath equation editor Chemistry notation using mhchem Source: docs.moodle.org/503/en/Using TeX Notation 2 — MoodleDocs (GPL) · Imported 2026-11-10. Using TeX Notation 3 Note: This page is a work-in-progress. Feedback and suggested improvements are welcome. Please join the discussion on moodle.org or use the . TeX (/'tɛx/tekh, often pronounced TeK in English) is a very widespread and popular way of representing Mathematics notation using only characters that you can type on a keyboard (see Wikipedia). This makes it a useful format to use in Moodle, since it can be entered anywhere you can type text, from forum posts to quiz questions. TeX expressions can be entered in multiple ways: typing them directly into texts. using the Java-based Dragmath editor in Moodle's TinyMCE editor. Afterwards, TeX expressions are rendered into Mathematics notation: using the TeX filter in Moodle, which uses a TeX binary installed on the server to convert expressions into .gif images (or if that is not available, it falls back to a simple built-in mimetex binary). using the MathJax filter which identifies TeX expressions and uses the Mathjax JS library to render them in browsers at display time (since Moodle 2.7). using other third-party solutions. As you can imagine, the whole field is not as simple as we would like, especially because there are many flavours of TeX and slight variations between tools. This page focusses only on using TeX in core Moodle. See the links at the bottom of this page for more information on setting up TeX editors and filters, including other tools from the Moodle community that may be suitable for advanced users. WARNING: This Wiki environment uses a DIFFERENT TeX renderer to Moodle, especially when it comes to control sequences. For this reason images are sometimes used to represent what it should look like in Moodle. YMMV. 1 Language Conventions 2 Equation displayed on its own line 3 Equation displayed within text 4 Reserved Characters and Keywords 5 Superscripts, Subscripts and Roots 6 Fractions 7 Brackets 8 Ellipsis 9 Symbols 10 Arrows 11 Delimiters and Maths Constructs 12 Greek Letters 13 Boolean algebra 14 Fonts 15 Size of displays 16 Colour 17 Geometric Shapes 18 Circles 19 Creating Arcs 20 The \picture Command 21 Lines 22 Squares and Rectangles 23 Controlling Angles 24 Intersecting Lines 25 Lines and Arcs 26 Triangles 27 Matrices 27.1 A Matrix 27.2 Creating equal and unequal matrices 27.3 Labeling a Matrix 27.4 Tweaking the Matrix 27.5 An Addition Matrix 27.6 A Subtraction Matrix 27.7 Multiplication Matrices 27.8 How to wrap long MathJax equations 27.9 See also Language Conventions To identify a TeX sequence in your text, surround it with $$ markers. To invoke a particular command or control sequence, use the backslash, \. A typical control sequence looks like: $$ x\ =\ \frac{\sqrt{144}}{2}\ \times\ (y\ +\ 12) $$ Fraction and square root. Additional spaces can be placed into the equation using the \ without a trailing character. Equation displayed on its own line When an equation is surrounded by a pair of $$ markers, it is displayed centered on its own line. The $$’s are primitive TeX markers. With LaTeX, it is often recommended to use the pair \[ and \] to enclose equations, rather than the $$ markers, because the newer syntax checks for mistyped equations and better adjusts vertical spacing. If the TeX Notation filter is activated, which set a LaTeX renderer, the same equation as above is obtained with the following control sequence: \[ x\ =\ \frac{\sqrt{144}}{2}\ \times\ (y\ +\ 12) \] However, if the equation is mistyped, it will be displayed enclosed in a box to signal the mistake and if the equation appears in a new paragraph, the vertical space above the equation will adjust correctly. Using \[ … \] instead of $$ … $$ may have other advantages. For example, with the Wiris equation editor installed, the Atto editor undesirably transforms the TeX code of equations enclosed with $$ into XML code, whereas it does not do so when the equations are enclosed with \[ and \]. Equation displayed within text With the TeX notation filter activated, an equation is displayed within the text when it is surrounded by the pair \( and \). For example, the following: The point \( \left( {{x}_{0}}+\frac{1}{p\left( {{x}_{0}} \right)}\ ,\ \frac{q\left( {{x}_{0}} \right)}{p\left( {{x}_{0}} \right)} \right) \) is located... will display as follows: Note that the single $ marks may not work for this purpose. Reserved Characters and Keywords Most characters and numbers on the keyboard can be used at their default value. As with any computing language, though, there are a set of reserved characters and keywords that are used by the program for its own purposes. TeX Notation is no different, but it does have a very small set of Reserved Characters. This will not be a complete list of reserved characters, but some of these are: @ # $ % ^ & * ( ) . To use these characters in an equation just place the \ in front of them like \$ or \%. If you want to use the backslash, just use \backslash. The only exception here seems to be the &, ampersand. Superscripts, Subscripts and Roots Superscripts are recorded using the caret, ^, symbol. An example for a Maths class might be: $$ 4^2 \ \times \ 4^3 \ = 4^5 $$ This is a shorthand way of saying: (4 x 4) x (4 x 4 x 4) = (4 x 4 x 4 x 4 x 4) or 16 x 64 = 1024. 4 2   ×   4 3   = 4 5 {\displaystyle 4^{2}\ \times \ 4^{3}\ =4^{5}} Subscripts are similar, but use the underscore character. $$ 3x_2 \ \times \ 2x_3 $$ 3 x 2   ×   2 x 3 {\displaystyle 3x_{2}\ \times \ 2x_{3}} This is OK if you want superscripts or subscripts, but square roots are a little different. This uses a control sequence. $$ \sqrt{64} \ = \ 8 $$ 64   =   8 {\displaystyle {\sqrt {64}}\ =\ 8} You can also take this a little further, but adding in a control character. You may ask a question like: $$ If \ \sqrt[n]{1024} \ = \ 4, \ what \ is \ the \ value \ of \ n? $$ I f   1024 n   =   4 ,   w h a t   i s   t h e   v a l u e   o f   n ? {\displaystyle If\ {\sqrt[{n}]{1024}}\ =\ 4,\ what\ is\ the\ value\ of\ n?} Using these different commands allows you to develop equations like: $$ The \sqrt{64} \ \times \ 2 \ \times \ 4^3 \ = \ 1024 $$ T h e 64   ×   2   ×   4 3   =   1024 {\displaystyle The{\sqrt {64}}\ \times \ 2\ \times \ 4^{3}\ =\ 1024} Superscripts, Subscripts and roots can also be noted in Matrices. Fractions Fractions in TeX are actually simple, as long as you remember the rules. $$ \frac{numerator}{denominator} $$ which produces n u m e r a t o r d e n o m i n a t o r {\displaystyle {\frac {numerator}{denominator}}} . This can be given as: 5 10   i s   e q u a l   t o   1 2 {\displaystyle {\frac {5}{10}}\ is\ equal\ to\ {\frac {1}{2}}} . This is entered as: $$ \frac{5}{10} \ is \ equal \ to \ \frac{1}{2}.$$ With fractions (as with other commands) the curly brackets can be nested so that for example you can implement negative exponents in fractions. As you can see, $$\frac {5^{-2}}{3}$$ will produce 5 − 2 3 {\displaystyle {\frac {5^{-2}}{3}}} $$\left(\frac{3}{4}\right)^{-3}$$ will produce ( 3 4 ) − 3 {\displaystyle \left({\frac {3}{4}}\right)^{-3}} and $$\frac{3}{4^{-3}}$$ will produce 3 4 − 3 {\displaystyle {\frac {3}{4^{-3}}}} You likely do not want to use $$\frac{3}{4}^{-3}$$ as it produces 3 4 − 3 {\displaystyle {\frac {3}{4}}^{-3}} You can also use fractions and negative exponents in Matrices. Brackets As students advance through Maths, they come into contact with brackets. Algebraic notation depends heavily on brackets. The usual keyboard values of ( and ) are useful, for example: d = 2   ×   ( 4   −   j ) {\displaystyle d=2\ \times \ (4\ -\ j)} This is written as: $$ d = 2 \ \times \ (4 \ - \ j) $$ Usually, these brackets are enough for most formulae but they will not be in some circumstances. Consider this: 4 x 3   +   ( x   +   42 1 + x 4 ) {\displaystyle 4x^{3}\ +\ (x\ +\ {\frac {42}{1+x^{4}}})} Is OK, but try it this way: 4 x 3   +   ( x   +   42 1 + x 4 ) {\displaystyle 4x^{3}\ +\ \left(x\ +\ {\frac {42}{1+x^{4}}}\right)} This can be achieved by: $$ 4x^3 \ + \ \left(x \ + \ \frac{42}{1 + x^4}\right) $$ A simple change using the \left( and \right) symbols instead. Note the actual bracket is both named and presented. Brackets are almost essential in Matrices. Ellipsis The Ellipsis is a simple code: x 1 ,   x 2 ,   … ,   x n {\displaystyle x_{1},\ x_{2},\ \ldots ,\ x_{n}} Written like: $$ x_1, \ x_2, \ \ldots, \ x_n $$ A more practical application could be: Question: "Add together all the numbers from 1 … {\displaystyle \ldots } 38. What is an elegant and simple solution to this problem? Can you create an algebraic function to explain this solution? Will your solution work for all numbers?" Answer: The question uses an even number to demonstrate a mathematical process and generate an algebraic formula. Part 1: Part 2. Part 3. 1.   1   +   38   =   39 {\displaystyle 1.\ 1\ +\ 38\ =\ 39} 2.   2   +   37   =   39 {\displaystyle 2.\ 2\ +\ 37\ =\ 39} 3.   3   +   36   =   39 {\displaystyle 3.\ 3\ +\ 36\ =\ 39} … {\displaystyle \ldots } 19.19   +   20   =   39 {\displaystyle 19.19\ +\ 20\ =\ 39} ∴ x   =   39   ×   19 {\displaystyle \therefore x\ =\ 39\ \times \ 19} ∴ x   =   741 {\displaystyle \therefore x\ =\ 741} An algebraic function might read something like: t = ( 1 + n ) × n / 2 {\displaystyle t=(1+n)\times n/2} Where t = total and n = the last number. The solution is that, using the largest and the smallest numbers, the numbers are added and then multiplied by the number of different combinations to produce the same result adding the first and last numbers. The answer must depend on the number, n 2 {\displaystyle {\frac {n}{2}}} being a whole number. Therefore, the solution will not work for an odd range of numbers, only an even range. Symbols These are not all the symbols that may be available in TeX Notation for Moodle, just the ones that I have found to work in Moodle. \amalg ⨿ {\displaystyle \amalg } \cup ∪ {\displaystyle \cup } \oplus ⊕ {\displaystyle \oplus } \times × {\displaystyle \times } \ast ∗ {\displaystyle \ast } \dagger † {\displaystyle \dagger } \oslash ⊘ {\displaystyle \oslash } \triangleleft ◃ {\displaystyle \triangleleft } \bigcirc ◯ {\displaystyle \bigcirc } \ddagger ‡ {\displaystyle \ddagger } \otimes ⊗ {\displaystyle \otimes } \triangleright ▹ {\displaystyle \triangleright } \bigtriangledown ▽ {\displaystyle \bigtriangledown } \diamond ⋄ {\displaystyle \diamond } \pm ± {\displaystyle \pm } \odot ⊙ {\displaystyle \odot } \bigtriangleup △ {\displaystyle \bigtriangleup } \div ÷ {\displaystyle \div } \ominus ⊖ {\displaystyle \ominus } \wr ≀ {\displaystyle \wr } \circ ∘ {\displaystyle \circ } \wedge ∧ {\displaystyle \wedge } \vee ∨ {\displaystyle \vee } \sqcup ⊔ {\displaystyle \sqcup } \leq ≤ {\displaystyle \leq } \geq ≥ {\displaystyle \geq } \equiv ≡ {\displaystyle \equiv } \prec ≺ {\displaystyle \prec } \succ ≻ {\displaystyle \succ } \sim ∼ {\displaystyle \sim } \perp ⊥ {\displaystyle \perp } \preceq ⪯ {\displaystyle \preceq } \succeq ⪰ {\displaystyle \succeq } \simeq ≃ {\displaystyle \simeq } \mid ∣ {\displaystyle \mid } \ll ≪ {\displaystyle \ll } \gg ≫ {\displaystyle \gg } \asymp ≍ {\displaystyle \asymp } \parallel ∥ {\displaystyle \parallel } \subset ⊂ {\displaystyle \subset } \supset ⊃ {\displaystyle \supset } \subseteq ⊆ {\displaystyle \subseteq } \supseteq ⊇ {\displaystyle \supseteq } \approx ≈ {\displaystyle \approx } \neq ≠ {\displaystyle \neq } \ni Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \ni} \notin Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \notin} \in Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \ni} \vdash Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \vdash} \dashv Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \dashv} \bullet Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \bullet} \cdot Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \cdot} Arrows \leftarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \leftarrow} \longleftarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \longleftarrow} \Leftarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Leftarrow} \Longleftarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Longleftarrow} \rightarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \rightarrow} \longrightarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \longrightarrow} \Rightarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Rightarrow} \Longrightarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Longrightarrow} \uparrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \uparrow} \Uparrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Uparrow} \downarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \downarrow} \Downarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Downarrow} \leftrightarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \leftrightarrow} \longleftrightarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \longleftrightarrow} \updownarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \updownarrow} \Updownarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Updownarrow} \Leftrightarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Leftrightarrow} \Longleftrightarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Longleftrightarrow} \leftrightharpoons Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \rightleftharpoons} \Im Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Im} \nearrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \nearrow} \nwarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \nwarrow} \swarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \swarrow} \searrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \searrow} Delimiters and Maths Constructs NOTE: Most delimiters and constructs need additional parameters for them to appear appropriately. \{x Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \{x } \} Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle x | \} } \rangle Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \rangle } \langle Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \langle } \angle Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \angle } \= Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \| } \sqrt{ab} Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \sqrt{ab}} \sqrt[n]{ab} Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \sqrt[n]{ab}} \frac{ab}{cd} Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \frac{ab}{cd}} \backslash Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \backslash} \widehat{ab} Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \widehat{ab}} \$ Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \$ } \overline{ab} Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \overline{ab}} \underline{ab} Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \underline{ab}} \therefore Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \therefore} \ddots Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \ddots} \% Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \%} \# Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \# } \vdots Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \vdots} \emptyset Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \emptyset} WARNINGS: The & character in LaTeX usually requires a backslash, \. In TeX Notation for Moodle, apparently, it does not. Other packages, AsciiMath, may use it differently again so be careful using it. The copyright character may use the MimeTeX charset, and produces a copyright notice for John Forkosh Associates who provided a lot of the essential packages for the TeX Notation for Moodle, so I understand. I have been, almost reliably, informed that a particular instruction will produce a different notice though .:) There are also a number of characters that can be used in TeX Notation for Moodle but do not render in this page: Larger \left(x and \right) brackets \widetilde{ab} \textdegree or (50)^\circ Greek Letters Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \alpha} \alpha Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \beta} \beta Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \gamma} \gamma Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \delta} \delta Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \epsilon} \epsilon Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \zeta} \zeta Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \eta} \eta Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \theta} \theta Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \iota} \iota Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \kappa} \kappa Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \lambda} \lambda Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \mu} \mu Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \xi} \xi Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \pi} \pi Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \rho} \rho Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \sigma} \sigma Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \tau} \tau Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \upsilon} \upsilon Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \phi} \phi Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \chi} \chi Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \psi} \psi Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \omega} \omega Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Omega} \Omega Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Theta} \Theta Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Delta} \Delta Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Pi} \Pi Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Phi} \Phi Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Gamma } \Gamma Λ {\displaystyle \Lambda } \Lambda Σ {\displaystyle \Sigma } \Sigma Ψ {\displaystyle \Psi } \Psi Ξ {\displaystyle \Xi } \Xi Υ {\displaystyle \Upsilon } \Upsilon ϑ {\displaystyle \vartheta } \vartheta ϱ {\displaystyle \varrho } \varrho φ {\displaystyle \varphi } \varphi ς {\displaystyle \varsigma } \varsigma Notable Exceptions Greek letter omicron (traditionally, mathematicians don't make much use of omicron due to possible confusion with zero). Simply put, lowercase omicron is an "o" redered as o. But note \omicron may now work with recent TeX implementations including MathJax. At the time of writing, these Greek capital letters cannot be rendered by TeX Notation in Moodle: Alpha, Beta, Zeta, Eta, Tau, Chi, Mu, Iota, Kappa and Epsilon. TeX methematics adopts the convention that lowercase Greek symbols are displayed as italics whereas uppercase Greek symbols are displayed as upright characters. Therefore, the missing Greek capital letters can simply be represented by the \mathrm{ } equivalent A , B , Z , H , T , X , M , I , K , E {\displaystyle \mathrm {A,B,Z,H,T,X,M,I,K,E} } Boolean algebra There are a number of different conventions for representing Boolean (logic) algebra. Common conventions used in computer science and electronics are detailed below: Negation, NOT, ¬, !, ~, − \lnot, !, \sim, \overline{ } Conjunction, AND, ∧, ⋅ {\displaystyle \cdot } \land, \wedge, \cdot Dysjunction, OR, ∨, +, \lor, \vee, + Exclusive dysjunction, XOR ⊻, ⊕ \veebar, \oplus Equivalence, If and only if, Iff, ≡, ↔, ⇔ \equiv, \leftrightarrow \iff Example: two representations of De Morgan's laws: A ⋅ B = A ¯ + B ¯ ¯ {\displaystyle A\cdot B={\overline {{\overline {A}}+{\overline {B}}}}} $$ A \cdot B = \overline{\overline{A} + \overline{B}} SS ( A ∧ B ) ≡ ¬ ( ¬ A ∨ ¬ B ) {\displaystyle (A\land B)\equiv \lnot (\lnot {A}\lor \lnot {B})} $$ (A \land B) \equiv \lnot(\lnot{A} \lor \lnot{B}) $$ Fonts To use a particular font you need to access the font using the same syntax as demonstrated above. A math calligraphic font: A B C D E F G H I J K L M N O P Q R S T U V X Y Z {\displaystyle {\mathcal {ABCDEFGHIJKLMNOPQRSTUVXYZ}}} or $$ \mathcal{ABCDEFGHIJKLMNOPQRSTUVXYZ}$$ Blackboard bold, a Castellar type font: A B C D E F G H I J K L M N O P Q R S T U V X Y Z {\displaystyle \mathbb {ABCDEFGHIJKLMNOPQRSTUVXYZ} } or $$ \mathbb{ABCDEFGHIJKLMNOPQRSTUVXYZ}$$ Often used in number theory. For example: N {\displaystyle \mathbb {N} } = set of natural numbers including 0 {0, 1, 2, 3, ...}, Z {\displaystyle \mathbb {Z} } = set of integers {-..., -3, -2, -1, 0, 1, 2, 3, ... }, Q {\displaystyle \mathbb {Q} } = set of rational numbers, including integers, R {\displaystyle \mathbb {R} } = set of real numbers, which includes the natural numbers, rational numbers and irrational numbers. Fraktur, an Old English type font: A B C D E F G H I J K L M N O P Q R S T U V X Y Z {\displaystyle {\mathfrak {ABCDEFGHIJKLMNOPQRSTUVXYZ}}} or $$ \mathfrak{ABCDEFGHIJKLMNOPQRSTUVXYZ}$$ This is different in Tex Notation in Moodle than it is for other, full, TeX packages. An italic font: A B C D E F G H I J K L M N O P Q R S T U V X Y Z {\displaystyle {\mathit {ABCDEFGHIJKLMNOPQRSTUVXYZ}}} or $$ \mathit{ABCDEFGHIJKLMNOPQRSTUVXYZ} $$ A normal, upright non-italic, Roman font: A B C D E F G H I J K L M N O P Q R S T U V X Y Z {\displaystyle \mathrm {ABCDEFGHIJKLMNOPQRSTUVXYZ} } or $$ \mathrm{ABCDEFGHIJKLMNOPQRSTUVXYZ} $$ A bold-face font: A B C D E F G H I J K L M N O P Q R S T U V X Y Z {\displaystyle \mathbf {ABCDEFGHIJKLMNOPQRSTUVXYZ} } or $$ \mathbf{ABCDEFGHIJKLMNOPQRSTUVXYZ} $$ Size of displays The default size is rendered slightly larger than normal font size. TeX Notation in Moodle uses eight different sizes ranging from "tiny" to "huge". However,these values seem to mean different things and are, I suspect, dependent upon the User's screen resolution. The sizes can be noted in four different ways: \fontsize{0} to \fontsize{7} $$\fontsize{2} x \ = \ \frac{\sqrt{144}}{2} \ \times \ (y \ + \ 12)$$ \fs{0} to \fs{7} $$\fs{4} x \ = \ \frac{\sqrt{144}}{2} \ \times \ (y \ + \ 12)$$ \fs0 to \fs7 $$\fs6 x \ = \ \frac{\sqrt{144}}{2} \ \times \ (y \ + \ 12)$$ As well, you can use \tiny \small \normalsize \large \Large \LARGE \huge \Huge $$\normalsize x \ = \ \frac{\sqrt{144}}{2} \ \times \ (y \ + \ 12)$$ It appears that TeX Notation in Moodle now allows \fs6, \fs7, \huge and \Huge to be properly rendered. Colour Unlike many scripting languages, we only need to name the colour we want to use. You may have to experiment a little with colours, but it will make for a brighter page. Once named, the entire statement will appear in the colour, and if you mix colours, the last named colour will dominate. Some examples: $$ \red x \ = \ \frac{\sqrt{144}}{2} \ \times \ (y \ + \ 12) $$ $$ \blue x \ = \ \frac{\sqrt{144}}{2} \ \times \ (y \ + \ 12) $$ $$ \green x \ = \ \frac{\sqrt{144}}{2} \ \times \ (y \ + \ 12) $$ $$ \red x \ = \ \frac{\sqrt{144}}{2}$$ $$ \times $$ $$\green (y \ + \ 12) $$ $$ \ = $$ $$ \ \blue 6^3 $$ Moodle 2.2 note: You may find this doesn't work for you. You can try to add "\usepackage{color}" to your tex notation setting "LaTeX preamble" (under Site administration/Plugins/Filters/TeX notation)and then use this new syntax: $$ \color{red} x \ = \ \frac{\sqrt{144}}{2} \ \times \ (y \ + \ 12) $$ You may note this last one, it is considerably more complex than the previous for colours. TeX Notation in Windows does not allow multicoloured equations, if you name a number of colours in the equation, only the last named will be used. Geometric Shapes There are two ways to produce geometric shapes, one is with circles and the other is with lines. Each take a bit of practice to get right, but they can provide some simple geometry. It may be easier to produce the shapes in Illustrator or Paint Shop Pro or any one of a number of other drawing packages and use them to illustrate your lessons, but sometimes, some simple diagrams in Moodle will do a better job. Circles Circles are easy to make. Circles are easily created, and only needs a number to determine how large the circle is. To create the circle use $$ \circle(150) $$. This makes a circle of 150 pixels in diameter. Creating Arcs Arcs are also easy to produce, but require some additional parameters. The same code structure used in circles create the basic shape, but the inclusion of a start and end point creates only the arc. However, notice where the 0 point is, not at the true North, but rather the East and run in an anti-clockwise direction. $$ \circle(120;90,180)$$ $$ \circle(120;0,90)$$ $$ \circle(120;180,270)$$ $$ \circle(120;270,360)$$ This structure breaks down into the \circle command followed by the diameter, not the radius, of the circle, followed by a semi-colon, then the demarcation of the arc, the nomination of the start and end points in degrees from the 0, East, start point. Note that the canvas is the size of the diameter nominated by the circle's parameters. The \picture Command Using circles and arcs as shown above is somewhat limiting. The \picture command allows you to use a frame in which to build a picture of many layers. Each part of the picture though needs to be in its own space, and while this frame allows you to be creative, to a degree, there are some very hard and fast rules about using it. All elements of a picture need to be located within the picture frame. Unexpected results occur when parts of an arc, for example, runs over the border of the frame. (This is particularly true of lines, which we will get to next, and the consequences of that overstepping of the border can cause serious problems.) The \picture command is structured like: \picture(100){(50,50){\circle(200)}} \command(size of frame){(x co-ordinate, y co-ordinate){\shape to draw(size or x co-ordinate, y co-ordinate)}) NOTE: The brace is used to enclose each set of required starting point coordinates. Inside each set of braces, another set of braces is used to isolate each set of coordinates from the other, and those coordinates use their proper brackets and backslash. Count the opening and closing brackets, be careful of the position, $$ \picture(100){(50,50){\circle(200)}}&& The picture frame brings elements together that you may not otherwise see. Because of the frame size of 100px and the centre point of the circle in the mid-point of the frame, the 200px circle will be squashed. Unexpected results occur when sizes are not correct. Using the picture frame, you can layer circles and lines over each other, or they can intersect. $$ \picture(100){(50,50){\circle(99)} (50,50){\circle(80)}} $$ You may want to see an image of a circle with a dot in the middle. You may have to try to place the centre dot correctly, but the ordering of the elements in the image may have an impact. $$ \picture(100){(48,46){\bullet}(50,50){\circle(99)}} $$ Using the same ideas as above, you can make semi-circles. $$\picture(150){(50,50){\circle(100;0,180)}(100,50){\circle(100;180,360)}}$$ Lines Warning: Drawing lines in TeX Notation in Moodle is an issue, go to the Using Text Notation for more information. If the line is not noted properly then the parser will try to correctly draw the line but will not successfully complete it. This means that every image that needs be drawn will be drawn until it hits the error. When the error is being converted, it fails, so no subsequent image is drawn. Be careful and make sure your line works BEFORE you move to the next problem or next image. a couple of lines $$\red \picture(200){(20,0){ \line(180,0)}{(20,180){\line(180,0}$$ The structure of the picture box is that the \picture(200) provides a square image template. The (20,0) provides the starting coordinates for any line that comes after. In this case the start point is at 20pixels in the x axis and 0 pixels in the y axis. The starting point for all coordinates, 0,0, is the bottom left corner and they run in a clockwise manner. Do not confuse this with arcs. The \line(180,0) determines the length and inclination of the line. In this case, the inclination is 0 and the length is 180px. These are enclosed in braces, all inside one set of braces owned by the \picture() control sequence. The next set of commands are the same, that is, the (20,200) are the coordinates of the next line. The x co-ordinate is the 20, that is the distance to the right from the 0 point. The y co-ordinates is the distance from the bottom of the image. Whereas the first line started and ran on the bottom of the picture frame, the y co-ordinate starts at the 200 pixel mark from the bottom of the image. The line, at 180 pixels long and has no y slope. This creates a spread pair of parallel lines. \picture explained While this explains the structure of a line, there is a couple of elements that you need to go through to do more with them. Squares and Rectangles Drawing squares and rectangles is similar, but only slightly different. There should be a square box tool, and there is, but unless it has something inside it, it does not display. It is actually easier to make a square using the \line command. This box is constructed using: $$ \picture(250){(10,10){\line(0,230)}(10,10){\line(230,0)}(240,10){\line(0,230)}(10,240){\line(230,0)}}$$ It is a 250 pixel square box with a 230 pixel square inside it. This box is different in that is has the equal length indicators that are used in a square. $$ \picture(250){(10,10){\line(0,230)} (5,120){\line(10,0)} (10,10){\line(230,0)} (120,5){\line(0,10)} (240,10){\line(0,230)} (235,120){\line(10,0)} (10,240){\line(230,0)} (120,235){\line(0,10)}}$$ The rectangle then becomes the same thing, but with one side shorter. For a portrait canvas it would be: $$ \picture(250){(10,10){\line(0,230)}(10,10){\line(150,0)}(160,10){\line(0,230)}(10,240){\line(150,0)}}$$ The rectangle can also produce a landscape shape: $$ \picture(250){(10,10){\line(0,160)}(10,10){\line(230,0)}(240,10){\line(0,160)}(10,170){\line(230,0)}}$$ Controlling Angles Controlling angles is a little different. They involve a different perception, but not one that is unfamiliar. Consider this: We have a point from which we want to draw a line that is on an angle. The notation used at this point can be positive, positive or positive, negative or negative, positive or negative, negative. Think of it like a number plane or a graph, using directed numbers. The 0,0 point is in the centre, and we have four quadrants around it that give us one of the previously mentioned results. $$\picture(100){(50,50){\line(40,45)}}$$, a positive x and positive y $$\picture(100){(50,50){\line(-40,45)}}$$ a negative x and positive y $$\picture(100){(50,50){\line(-40,-45)}}$$ a negative x and negative y $$\picture(100){(50,50){\line(40,-45)}}$$ a positive x and a negative y Essentially, what these points boil down to is that anything above the insertion point is a positive on the y axis, anything below is a negative. Anything to the left of the insertion point is a negative while everything to the right is a positive. $$\picture(100){(50,50){\line(40,45)}(50,50){\line(-40,45)}(50,50){\line(-40,-45)}(50,50){\line(40,-45)}}$$ The co-ordinate alignment process in TeX is not that good that you can use one set of co-ords as a single starting point for all lines. The layering of each object varies because of the position of the previous object, so each object needs to be exactly placed. This co-ord structure has a great deal of impact on intersecting lines, parallel lines and triangles. Intersecting Lines You can set up an intersecting pair easily enough, using the \picture control sequence. $$ \picture(200){(10,0){\line(150,150)} (0,130){\line(180,-180)}} $$ The lines that are drawn can be labeled. $$ \picture(200){(10,0){\line(150,150)}(0,130){\line(180,-180)} (0,10){A}(0,135){B}(140,0){C}(140,150){D}(62,80){X}} $$ To produce another image. To which you may want to ask the question: $$The \ \angle \ of \ AXB \ is \ 72\textdegree. \ What \ is \ the \ value \ of \ \angle BXD? $$ NOTE: Labeling this image, above-right, turned out to be fairly simple. Offsetting points by a few pixels at the start or end points of the lines proved a successful strategy. The X point proved a little more problematic, and took a number of adjustments before getting it right. Experience here will help. With labels the drawing can become a little more like your traditional geometric drawing, but the devil is in the details. The parallel markers need to be placed properly, and that is where experience really comes into it. On lines that are vertical or horizontal, you can get away with using the > or < directly from the keyboard, or the ≫ {\displaystyle \gg } or ≪ {\displaystyle \ll } symbols. In either case, you need to position them properly. The code: $$\picture(200){(15,45){\line(170,0)} (15,30){c}(170,28){d}(15,160){\line(170,0)}(15,145){e}(180,143){f}(50,20){\line(110,175)}(58,20){a}(140,185){b}(42,32){\kappa}(53,48){\beta} (150,165){\kappa} (90,38){\gg}(80,153){\gg} }$$ Lines and Arcs Combining lines and arcs is a serious challenge actually, on a number of levels. For example, lets take an arc from the first page on circles. Fairly innocuous of itself, but when we start to add in elements, it changes dramatically. $$ \circle(120;90,180) $$ $$\picture(150){(75,75){\circle(120;90,180)}(75,75){\line(-70,0)}(75,75){\line(0,75)}} $$ All elements in this drawing start in the same place. Each is layered, and properly placed on the canvas, and using the same co-ord to start makes it easy to control them. No matter the size of the arc, intersecting lines can all be drawn using the centre co-ords of the arc. Triangles Of all the drawing objects, it is actually triangles that present the most challenge. For example: $$\picture(350){(10,10){\line(0,320)}(10,330){\line(330,0)}(10,10){\line(330,320)}}$$ This is a simple triangle, one that allows us to establish a simple set of rules for the sides. The vertical always has an x=0 co-ord and the horizontal always has a y=0 co-ord. In this case with an x value of 330 on the horizontal, and a y value of 320 on the vertical, the hypotenuse should then have a value of x=340, and the y=330, but not so, they actually have an x=330 and a y=320. There is no need to add the starting point co-ords to the x and y values of the line. $$picture(350){(10,10){\line(330,0)}(340,10){\line(0,320)}(340,330){\line(-330,-320)}}$$ This triangle has been developed for a Trigonometry page - but the additional notation should provide insight into how you can use it. This is a labeled image, but it has an \fbox in it with its little line. With some effort, it could be replaced with two intersecting short lines. $$\picture(350,150){(25,25){\line(300,0)}(325,25){\line(0,110)}(25,25){\line(300,110)}(309,25){\fbox{\line(5,5)}} (307,98){\theta}(135,75){\beta}(150,5){\alpha}(335,75){\epsilon}}$$ The triangle shows like: We use the different elements of the triangle to identify those things we need to know about a right-angled triangle. The hypotenuse is always the side that is opposite the right angle. The longest side is always the Hypotenuse. To identify the other elements of the triangle we look for the sign θ {\displaystyle \theta } . Θ {\displaystyle \Theta } is the starting point for naming the other sides. The side that is opposite ∠ θ {\displaystyle \angle \theta } is known as the Opposite. The side that lies alongside ∠ θ {\displaystyle \angle \theta } is known as the Adjacent side. To determine which is which, draw a line that bisects ∠ θ {\displaystyle \angle \theta } and whatever line it crosses is the Opposite side. The code: $$ \picture(350,250){(25,25){\line(300,0)}(25,25){\line(0,220)}(25,245){\line(300,-220)}(310,25){\circle(100;135,180)}(20,100){\line(310,-75)} (25,25){\fbox{\line(5,5)}}(25,25){\line(150,150)}(165,140){Hypotenuse}(120,2){Adjacent}(2,80){\rotatebox{90}{Opposite}}(270,40){\theta}}$$ Matrices A Matrix is a rectangular array of numbers arranged in rows and columns which can be used to organize numeric information. Matrices can be used to predict trends and outcomes in real situations - i.e. polling. A Matrix A matrix can be written and displayed like In this case the matrix is constructed using the brackets before creating the array: $$ M = \left[\begin{array}{ccc} a&b&1 \\ c&d&2 \\ e&f&3\end{array}\right] $$ The internal structure of the array is generated by the &, ampersand, and the double backslash. You can also create a grid for the matrix. A dashed line A solid line A mixed line $$ M = \left[\begin{array}{c.c.c} a&b&1 \ \hdash c&d&2 \ \hdash e&f&3\end{array}\right] $$ c|c} a&b&1 \ \hline c&d&2 \ \hline e&f&3\end{array}\right] $$ c} a&b&1 \ \hline c&d&2 \ \hdash e&f&3\end{array}\right] $$ The command sequences here are the {c|c.c} and \hdash and \hline. The pipe, |, and the full stop determine the line type for the vertical line. Matrices also respond to other TeX Notation commands such as size and colour. Colour Size $$ \blue M = \left[\begin{array}{c.c.c} a&b&1 \ \hdash c&d&2 \ \hdash e&f&3\end{array}\right] $$ $$ \fs7 M = \left[\begin{array}{c.c.c} a&b&1 \ \hdash c&d&2 \ \hdash e&f&3\end{array}\right] $$ $$ \fs2 M = \left[\begin{array}{c.c.c} a&b&1 \ \hdash c&d&2 \ \hdash e&f&3\end{array}\right] $$ Creating equal and unequal matrices Equal and unequal matrices are simply matrices that either share or not share the same number of rows and columns. To be more precise, equal matrices share the same order and each element in the corresponding positions are equal. Anything else is unequal matrices. Actually equal and unequal matrices are constructed along similar lines, but have different shapes: Equal Matrix An unequal matrix $$ \left[\begin{array} a&b&1 \ c&d&2 \ e&f&3\end{array}\right] \ = \ \left[\begin{array} 12&11&z \ 10&9&y \ 8&7&x\end{array}\right] $$ $$ \left[\begin{array} a&b \ c&d \ e&f \end{array}\right] \ \neq \ \left[\begin{array} 12&11&z \ 10&9&y \ 8&7&x\end{array}\right] $$ Labeling a Matrix Addition and subtraction matrices are similar again, but the presentation is usually very different. The problem comes when trying to mix labels into arrays. The lack of sophistication in the TeX Notation plays against it here. Moodle allows an easy adoption of tables to make it work though. For example: Bill the baker supplies three shops, A, B and C with pies, pasties and sausage rolls. He is expected to determine the stock levels of those three shops in his estimation of supplies. It is better to use the Moodle Fullscreen editor for this, to have a better idea of how the end product will look and to take advantage of the additional tools available. Design decisions need occupy our attention for a while. We need a table of five rows and four columns. The first row is a header row, so the label is centred. The next row needs four columns, a blank cell to start and labels A, B and C. The next three rows are divided into two columns, with the labels, pies, pasties and sausage rolls in each row of the first column and the matrix resides in a merged set of columns there. So first the table: Insert Table - initial properties Merge Cells Button Advanced Properties You may need to look into the Advanced properties setting of the tables and cells to make this work. This is the immediate result: While not a very good look, it can be made better by tweaking the table using the advanced settings and properties buttons and then you can tweak the matrix itself. Tweaking the Matrix Things are not always as they seem, be aware, the "c" does not stand for "column", it actually stands for "centre". The columns are aligned by the letters l, for left, c for centre and r for right. Each column is spread across 50 pixels, so the value of 50 is entered into the alignment declaration. The plus sign before the value is used to "propogate" or to force the value across the whole matrix, but is not used when wanting to separate only one column. To set the rows is a little more problematic. The capital letter C sets the vertical alignment to the centre, (B is for baseline, but that does not guarantee that the numbers will appear on the base line, and there does not appear to be any third value). The plus sign and following value sets the height of all rows to the number given. In this I have given it a value of 25 pixels for the entire matrix. If there were four or five rows, the same height requirement is made. The order things appear is also important. If you change the order of these settings, they will either not work at all, or will not render as you expect them to. If something does not work properly, then check to make sure you have the right order first. An Addition Matrix The rule for performing operations on matrices is that they must be equal matrices. For example, addition matrices look like: with the results obvious. The code is: $$\left[\begin{array}{c+50C+25.c.c} 11&14&12 \ \hdash16&12&22 \ \hdash 14&17&15 \end{array}\right] + \left[\begin{array}{c+50C+25.c.c} 60&60&60 \ \hdash 40&40&30 \ \hdash 30&30&30 \end{array}\right] $$ A Subtraction Matrix Similar to an addition matrix in its construction, the subtraction matrix is subject to the same rules of equality. Using the same essential data, we can calculate the daily sales of each of the shops. The code is: $$ \left[\begin{array}{c+50C+25.c.c} 72&95&68 \ \hdash 54&61&65 \ \hdash 48&51&60 \end{array}\right] - \left[\begin{array}{c+50C+25.c.c} 11&14&12 \ \hdash 16&12&22 \ \hdash 14&17&15 \end{array}\right] = \left[\begin{array}{c+50C+25.c.c} 61&81&56 \ \hdash 38&49&43 \ \hdash 34&34&48 \end{array}\right] $$ This code looks more complex than it really is, it is cluttered by the lines and alignment sequences. Multiplication Matrices Different than the addition or subtraction matrices, the multiplication matrix comes in three parts, the row matrix, the column matrix and the answer matrix. This implies it has a different construction methodology. And the code for this is: $$ \begin{array} 10&14&16\end{array} \ \left[\begin{array} 45 \\ 61 \\ 19 \end{array}\right] \ = \ \begin{array} 450&854&304\end{array} $$ While different, it is not necessarily more complex. For example, a problem like: Bill the baker is selling his product to Con the cafe owner, who wants to make sure his overall prices are profitable for himself. Con needs to make sure that his average price is providing sufficient profit to be able to keep the cafes open. Con makes his calculations on a weekly basis, comparing cost to sale prices. With the pies, pasties and sausage rolls in that order he applies them to the cost and sale price columns : The code for this is: $$\left[\begin{array} 350&310&270 \end{array}\right] \ \left[\begin{array} \$2.10&\$3.60 \ \$2.05&\$3.60 \ \$1.90&\$3.10 \end{array} \right] \ = \ \left[\begin{array} \$735.00&\$1260.00 \ \$635.50&\$1116.00 \ \$513.00&$\837.00 \end{array}\right] $$ How to wrap long MathJax equations As described by Christopher Sangwin: See this documentation. Add CommonHTML: { linebreaks: { automatic: true } }, "HTML-CSS": { linebreaks: { automatic: true } }, SVG: { linebreaks: { automatic: true } } to "filter_mathjaxloader | mathjaxconfig" in the filter settings: Dashboard > Site administration > Plugins > Filters > MathJax Seems to do the trick. See also Mathematics tools FAQ MathJax filter - available in Moodle 2.7 and later TeX notation filter To turn on the TeX Notation DragMath equation editor Chemistry notation using mhchem Source: docs.moodle.org/503/en/Using TeX Notation 3 — MoodleDocs (GPL) · Imported 2026-11-10. Using TeX Notation 4 Note: This page is a work-in-progress. Feedback and suggested improvements are welcome. Please join the discussion on moodle.org or use the . TeX (/'tɛx/tekh, often pronounced TeK in English) is a very widespread and popular way of representing Mathematics notation using only characters that you can type on a keyboard (see Wikipedia). This makes it a useful format to use in Moodle, since it can be entered anywhere you can type text, from forum posts to quiz questions. TeX expressions can be entered in multiple ways: typing them directly into texts. using the Java-based Dragmath editor in Moodle's TinyMCE editor. Afterwards, TeX expressions are rendered into Mathematics notation: using the TeX filter in Moodle, which uses a TeX binary installed on the server to convert expressions into .gif images (or if that is not available, it falls back to a simple built-in mimetex binary). using the MathJax filter which identifies TeX expressions and uses the Mathjax JS library to render them in browsers at display time (since Moodle 2.7). using other third-party solutions. As you can imagine, the whole field is not as simple as we would like, especially because there are many flavours of TeX and slight variations between tools. This page focusses only on using TeX in core Moodle. See the links at the bottom of this page for more information on setting up TeX editors and filters, including other tools from the Moodle community that may be suitable for advanced users. WARNING: This Wiki environment uses a DIFFERENT TeX renderer to Moodle, especially when it comes to control sequences. For this reason images are sometimes used to represent what it should look like in Moodle. YMMV. 1 Language Conventions 2 Equation displayed on its own line 3 Equation displayed within text 4 Reserved Characters and Keywords 5 Superscripts, Subscripts and Roots 6 Fractions 7 Brackets 8 Ellipsis 9 Symbols 10 Arrows 11 Delimiters and Maths Constructs 12 Greek Letters 13 Boolean algebra 14 Fonts 15 Size of displays 16 Colour 17 Geometric Shapes 18 Circles 19 Creating Arcs 20 The \picture Command 21 Lines 22 Squares and Rectangles 23 Controlling Angles 24 Intersecting Lines 25 Lines and Arcs 26 Triangles 27 Matrices 27.1 A Matrix 27.2 Creating equal and unequal matrices 27.3 Labeling a Matrix 27.4 Tweaking the Matrix 27.5 An Addition Matrix 27.6 A Subtraction Matrix 27.7 Multiplication Matrices 27.8 How to wrap long MathJax equations 27.9 See also Language Conventions To identify a TeX sequence in your text, surround it with $$ markers. To invoke a particular command or control sequence, use the backslash, \. A typical control sequence looks like: $$ x\ =\ \frac{\sqrt{144}}{2}\ \times\ (y\ +\ 12) $$ Fraction and square root. Additional spaces can be placed into the equation using the \ without a trailing character. Equation displayed on its own line When an equation is surrounded by a pair of $$ markers, it is displayed centered on its own line. The $$’s are primitive TeX markers. With LaTeX, it is often recommended to use the pair \[ and \] to enclose equations, rather than the $$ markers, because the newer syntax checks for mistyped equations and better adjusts vertical spacing. If the TeX Notation filter is activated, which set a LaTeX renderer, the same equation as above is obtained with the following control sequence: \[ x\ =\ \frac{\sqrt{144}}{2}\ \times\ (y\ +\ 12) \] However, if the equation is mistyped, it will be displayed enclosed in a box to signal the mistake and if the equation appears in a new paragraph, the vertical space above the equation will adjust correctly. Using \[ … \] instead of $$ … $$ may have other advantages. For example, with the Wiris equation editor installed, the Atto editor undesirably transforms the TeX code of equations enclosed with $$ into XML code, whereas it does not do so when the equations are enclosed with \[ and \]. Equation displayed within text With the TeX notation filter activated, an equation is displayed within the text when it is surrounded by the pair \( and \). For example, the following: The point \( \left( {{x}_{0}}+\frac{1}{p\left( {{x}_{0}} \right)}\ ,\ \frac{q\left( {{x}_{0}} \right)}{p\left( {{x}_{0}} \right)} \right) \) is located... will display as follows: Note that the single $ marks may not work for this purpose. Reserved Characters and Keywords Most characters and numbers on the keyboard can be used at their default value. As with any computing language, though, there are a set of reserved characters and keywords that are used by the program for its own purposes. TeX Notation is no different, but it does have a very small set of Reserved Characters. This will not be a complete list of reserved characters, but some of these are: @ # $ % ^ & * ( ) . To use these characters in an equation just place the \ in front of them like \$ or \%. If you want to use the backslash, just use \backslash. The only exception here seems to be the &, ampersand. Superscripts, Subscripts and Roots Superscripts are recorded using the caret, ^, symbol. An example for a Maths class might be: $$ 4^2 \ \times \ 4^3 \ = 4^5 $$ This is a shorthand way of saying: (4 x 4) x (4 x 4 x 4) = (4 x 4 x 4 x 4 x 4) or 16 x 64 = 1024. 4 2   ×   4 3   = 4 5 {\displaystyle 4^{2}\ \times \ 4^{3}\ =4^{5}} Subscripts are similar, but use the underscore character. $$ 3x_2 \ \times \ 2x_3 $$ 3 x 2   ×   2 x 3 {\displaystyle 3x_{2}\ \times \ 2x_{3}} This is OK if you want superscripts or subscripts, but square roots are a little different. This uses a control sequence. $$ \sqrt{64} \ = \ 8 $$ 64   =   8 {\displaystyle {\sqrt {64}}\ =\ 8} You can also take this a little further, but adding in a control character. You may ask a question like: $$ If \ \sqrt[n]{1024} \ = \ 4, \ what \ is \ the \ value \ of \ n? $$ I f   1024 n   =   4 ,   w h a t   i s   t h e   v a l u e   o f   n ? {\displaystyle If\ {\sqrt[{n}]{1024}}\ =\ 4,\ what\ is\ the\ value\ of\ n?} Using these different commands allows you to develop equations like: $$ The \sqrt{64} \ \times \ 2 \ \times \ 4^3 \ = \ 1024 $$ T h e 64   ×   2   ×   4 3   =   1024 {\displaystyle The{\sqrt {64}}\ \times \ 2\ \times \ 4^{3}\ =\ 1024} Superscripts, Subscripts and roots can also be noted in Matrices. Fractions Fractions in TeX are actually simple, as long as you remember the rules. $$ \frac{numerator}{denominator} $$ which produces n u m e r a t o r d e n o m i n a t o r {\displaystyle {\frac {numerator}{denominator}}} . This can be given as: 5 10   i s   e q u a l   t o   1 2 {\displaystyle {\frac {5}{10}}\ is\ equal\ to\ {\frac {1}{2}}} . This is entered as: $$ \frac{5}{10} \ is \ equal \ to \ \frac{1}{2}.$$ With fractions (as with other commands) the curly brackets can be nested so that for example you can implement negative exponents in fractions. As you can see, $$\frac {5^{-2}}{3}$$ will produce 5 − 2 3 {\displaystyle {\frac {5^{-2}}{3}}} $$\left(\frac{3}{4}\right)^{-3}$$ will produce ( 3 4 ) − 3 {\displaystyle \left({\frac {3}{4}}\right)^{-3}} and $$\frac{3}{4^{-3}}$$ will produce 3 4 − 3 {\displaystyle {\frac {3}{4^{-3}}}} You likely do not want to use $$\frac{3}{4}^{-3}$$ as it produces 3 4 − 3 {\displaystyle {\frac {3}{4}}^{-3}} You can also use fractions and negative exponents in Matrices. Brackets As students advance through Maths, they come into contact with brackets. Algebraic notation depends heavily on brackets. The usual keyboard values of ( and ) are useful, for example: d = 2   ×   ( 4   −   j ) {\displaystyle d=2\ \times \ (4\ -\ j)} This is written as: $$ d = 2 \ \times \ (4 \ - \ j) $$ Usually, these brackets are enough for most formulae but they will not be in some circumstances. Consider this: 4 x 3   +   ( x   +   42 1 + x 4 ) {\displaystyle 4x^{3}\ +\ (x\ +\ {\frac {42}{1+x^{4}}})} Is OK, but try it this way: 4 x 3   +   ( x   +   42 1 + x 4 ) {\displaystyle 4x^{3}\ +\ \left(x\ +\ {\frac {42}{1+x^{4}}}\right)} This can be achieved by: $$ 4x^3 \ + \ \left(x \ + \ \frac{42}{1 + x^4}\right) $$ A simple change using the \left( and \right) symbols instead. Note the actual bracket is both named and presented. Brackets are almost essential in Matrices. Ellipsis The Ellipsis is a simple code: x 1 ,   x 2 ,   … ,   x n {\displaystyle x_{1},\ x_{2},\ \ldots ,\ x_{n}} Written like: $$ x_1, \ x_2, \ \ldots, \ x_n $$ A more practical application could be: Question: "Add together all the numbers from 1 … {\displaystyle \ldots } 38. What is an elegant and simple solution to this problem? Can you create an algebraic function to explain this solution? Will your solution work for all numbers?" Answer: The question uses an even number to demonstrate a mathematical process and generate an algebraic formula. Part 1: Part 2. Part 3. 1.   1   +   38   =   39 {\displaystyle 1.\ 1\ +\ 38\ =\ 39} 2.   2   +   37   =   39 {\displaystyle 2.\ 2\ +\ 37\ =\ 39} 3.   3   +   36   =   39 {\displaystyle 3.\ 3\ +\ 36\ =\ 39} … {\displaystyle \ldots } 19.19   +   20   =   39 {\displaystyle 19.19\ +\ 20\ =\ 39} ∴ x   =   39   ×   19 {\displaystyle \therefore x\ =\ 39\ \times \ 19} ∴ x   =   741 {\displaystyle \therefore x\ =\ 741} An algebraic function might read something like: t = ( 1 + n ) × n / 2 {\displaystyle t=(1+n)\times n/2} Where t = total and n = the last number. The solution is that, using the largest and the smallest numbers, the numbers are added and then multiplied by the number of different combinations to produce the same result adding the first and last numbers. The answer must depend on the number, n 2 {\displaystyle {\frac {n}{2}}} being a whole number. Therefore, the solution will not work for an odd range of numbers, only an even range. Symbols These are not all the symbols that may be available in TeX Notation for Moodle, just the ones that I have found to work in Moodle. \amalg ⨿ {\displaystyle \amalg } \cup ∪ {\displaystyle \cup } \oplus ⊕ {\displaystyle \oplus } \times × {\displaystyle \times } \ast ∗ {\displaystyle \ast } \dagger † {\displaystyle \dagger } \oslash ⊘ {\displaystyle \oslash } \triangleleft ◃ {\displaystyle \triangleleft } \bigcirc ◯ {\displaystyle \bigcirc } \ddagger ‡ {\displaystyle \ddagger } \otimes ⊗ {\displaystyle \otimes } \triangleright ▹ {\displaystyle \triangleright } \bigtriangledown ▽ {\displaystyle \bigtriangledown } \diamond ⋄ {\displaystyle \diamond } \pm ± {\displaystyle \pm } \odot ⊙ {\displaystyle \odot } \bigtriangleup △ {\displaystyle \bigtriangleup } \div ÷ {\displaystyle \div } \ominus ⊖ {\displaystyle \ominus } \wr ≀ {\displaystyle \wr } \circ ∘ {\displaystyle \circ } \wedge ∧ {\displaystyle \wedge } \vee ∨ {\displaystyle \vee } \sqcup ⊔ {\displaystyle \sqcup } \leq ≤ {\displaystyle \leq } \geq ≥ {\displaystyle \geq } \equiv ≡ {\displaystyle \equiv } \prec ≺ {\displaystyle \prec } \succ ≻ {\displaystyle \succ } \sim ∼ {\displaystyle \sim } \perp ⊥ {\displaystyle \perp } \preceq ⪯ {\displaystyle \preceq } \succeq ⪰ {\displaystyle \succeq } \simeq ≃ {\displaystyle \simeq } \mid ∣ {\displaystyle \mid } \ll ≪ {\displaystyle \ll } \gg ≫ {\displaystyle \gg } \asymp ≍ {\displaystyle \asymp } \parallel ∥ {\displaystyle \parallel } \subset ⊂ {\displaystyle \subset } \supset ⊃ {\displaystyle \supset } \subseteq ⊆ {\displaystyle \subseteq } \supseteq ⊇ {\displaystyle \supseteq } \approx ≈ {\displaystyle \approx } \neq ≠ {\displaystyle \neq } \ni Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \ni} \notin Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \notin} \in Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \ni} \vdash Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \vdash} \dashv Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \dashv} \bullet Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \bullet} \cdot Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \cdot} Arrows \leftarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \leftarrow} \longleftarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \longleftarrow} \Leftarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Leftarrow} \Longleftarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Longleftarrow} \rightarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \rightarrow} \longrightarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \longrightarrow} \Rightarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Rightarrow} \Longrightarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Longrightarrow} \uparrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \uparrow} \Uparrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Uparrow} \downarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \downarrow} \Downarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Downarrow} \leftrightarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \leftrightarrow} \longleftrightarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \longleftrightarrow} \updownarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \updownarrow} \Updownarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Updownarrow} \Leftrightarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Leftrightarrow} \Longleftrightarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Longleftrightarrow} \leftrightharpoons Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \rightleftharpoons} \Im Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Im} \nearrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \nearrow} \nwarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \nwarrow} \swarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \swarrow} \searrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \searrow} Delimiters and Maths Constructs NOTE: Most delimiters and constructs need additional parameters for them to appear appropriately. \{x Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \{x } \} Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle x | \} } \rangle Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \rangle } \langle Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \langle } \angle Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \angle } \= Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \| } \sqrt{ab} Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \sqrt{ab}} \sqrt[n]{ab} Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \sqrt[n]{ab}} \frac{ab}{cd} Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \frac{ab}{cd}} \backslash Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \backslash} \widehat{ab} Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \widehat{ab}} \$ Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \$ } \overline{ab} Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \overline{ab}} \underline{ab} Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \underline{ab}} \therefore Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \therefore} \ddots Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \ddots} \% Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \%} \# Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \# } \vdots Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \vdots} \emptyset Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \emptyset} WARNINGS: The & character in LaTeX usually requires a backslash, \. In TeX Notation for Moodle, apparently, it does not. Other packages, AsciiMath, may use it differently again so be careful using it. The copyright character may use the MimeTeX charset, and produces a copyright notice for John Forkosh Associates who provided a lot of the essential packages for the TeX Notation for Moodle, so I understand. I have been, almost reliably, informed that a particular instruction will produce a different notice though .:) There are also a number of characters that can be used in TeX Notation for Moodle but do not render in this page: Larger \left(x and \right) brackets \widetilde{ab} \textdegree or (50)^\circ Greek Letters Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \alpha} \alpha Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \beta} \beta Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \gamma} \gamma Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \delta} \delta Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \epsilon} \epsilon Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \zeta} \zeta Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \eta} \eta Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \theta} \theta Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \iota} \iota Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \kappa} \kappa Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \lambda} \lambda Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \mu} \mu Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \xi} \xi Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \pi} \pi Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \rho} \rho Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \sigma} \sigma Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \tau} \tau Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \upsilon} \upsilon Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \phi} \phi Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \chi} \chi Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \psi} \psi Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \omega} \omega Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Omega} \Omega Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Theta} \Theta Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Delta} \Delta Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Pi} \Pi Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Phi} \Phi Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Gamma } \Gamma Λ {\displaystyle \Lambda } \Lambda Σ {\displaystyle \Sigma } \Sigma Ψ {\displaystyle \Psi } \Psi Ξ {\displaystyle \Xi } \Xi Υ {\displaystyle \Upsilon } \Upsilon ϑ {\displaystyle \vartheta } \vartheta ϱ {\displaystyle \varrho } \varrho φ {\displaystyle \varphi } \varphi ς {\displaystyle \varsigma } \varsigma Notable Exceptions Greek letter omicron (traditionally, mathematicians don't make much use of omicron due to possible confusion with zero). Simply put, lowercase omicron is an "o" redered as o. But note \omicron may now work with recent TeX implementations including MathJax. At the time of writing, these Greek capital letters cannot be rendered by TeX Notation in Moodle: Alpha, Beta, Zeta, Eta, Tau, Chi, Mu, Iota, Kappa and Epsilon. TeX methematics adopts the convention that lowercase Greek symbols are displayed as italics whereas uppercase Greek symbols are displayed as upright characters. Therefore, the missing Greek capital letters can simply be represented by the \mathrm{ } equivalent A , B , Z , H , T , X , M , I , K , E {\displaystyle \mathrm {A,B,Z,H,T,X,M,I,K,E} } Boolean algebra There are a number of different conventions for representing Boolean (logic) algebra. Common conventions used in computer science and electronics are detailed below: Negation, NOT, ¬, !, ~, − \lnot, !, \sim, \overline{ } Conjunction, AND, ∧, ⋅ {\displaystyle \cdot } \land, \wedge, \cdot Dysjunction, OR, ∨, +, \lor, \vee, + Exclusive dysjunction, XOR ⊻, ⊕ \veebar, \oplus Equivalence, If and only if, Iff, ≡, ↔, ⇔ \equiv, \leftrightarrow \iff Example: two representations of De Morgan's laws: A ⋅ B = A ¯ + B ¯ ¯ {\displaystyle A\cdot B={\overline {{\overline {A}}+{\overline {B}}}}} $$ A \cdot B = \overline{\overline{A} + \overline{B}} SS ( A ∧ B ) ≡ ¬ ( ¬ A ∨ ¬ B ) {\displaystyle (A\land B)\equiv \lnot (\lnot {A}\lor \lnot {B})} $$ (A \land B) \equiv \lnot(\lnot{A} \lor \lnot{B}) $$ Fonts To use a particular font you need to access the font using the same syntax as demonstrated above. A math calligraphic font: A B C D E F G H I J K L M N O P Q R S T U V X Y Z {\displaystyle {\mathcal {ABCDEFGHIJKLMNOPQRSTUVXYZ}}} or $$ \mathcal{ABCDEFGHIJKLMNOPQRSTUVXYZ}$$ Blackboard bold, a Castellar type font: A B C D E F G H I J K L M N O P Q R S T U V X Y Z {\displaystyle \mathbb {ABCDEFGHIJKLMNOPQRSTUVXYZ} } or $$ \mathbb{ABCDEFGHIJKLMNOPQRSTUVXYZ}$$ Often used in number theory. For example: N {\displaystyle \mathbb {N} } = set of natural numbers including 0 {0, 1, 2, 3, ...}, Z {\displaystyle \mathbb {Z} } = set of integers {-..., -3, -2, -1, 0, 1, 2, 3, ... }, Q {\displaystyle \mathbb {Q} } = set of rational numbers, including integers, R {\displaystyle \mathbb {R} } = set of real numbers, which includes the natural numbers, rational numbers and irrational numbers. Fraktur, an Old English type font: A B C D E F G H I J K L M N O P Q R S T U V X Y Z {\displaystyle {\mathfrak {ABCDEFGHIJKLMNOPQRSTUVXYZ}}} or $$ \mathfrak{ABCDEFGHIJKLMNOPQRSTUVXYZ}$$ This is different in Tex Notation in Moodle than it is for other, full, TeX packages. An italic font: A B C D E F G H I J K L M N O P Q R S T U V X Y Z {\displaystyle {\mathit {ABCDEFGHIJKLMNOPQRSTUVXYZ}}} or $$ \mathit{ABCDEFGHIJKLMNOPQRSTUVXYZ} $$ A normal, upright non-italic, Roman font: A B C D E F G H I J K L M N O P Q R S T U V X Y Z {\displaystyle \mathrm {ABCDEFGHIJKLMNOPQRSTUVXYZ} } or $$ \mathrm{ABCDEFGHIJKLMNOPQRSTUVXYZ} $$ A bold-face font: A B C D E F G H I J K L M N O P Q R S T U V X Y Z {\displaystyle \mathbf {ABCDEFGHIJKLMNOPQRSTUVXYZ} } or $$ \mathbf{ABCDEFGHIJKLMNOPQRSTUVXYZ} $$ Size of displays The default size is rendered slightly larger than normal font size. TeX Notation in Moodle uses eight different sizes ranging from "tiny" to "huge". However,these values seem to mean different things and are, I suspect, dependent upon the User's screen resolution. The sizes can be noted in four different ways: \fontsize{0} to \fontsize{7} $$\fontsize{2} x \ = \ \frac{\sqrt{144}}{2} \ \times \ (y \ + \ 12)$$ \fs{0} to \fs{7} $$\fs{4} x \ = \ \frac{\sqrt{144}}{2} \ \times \ (y \ + \ 12)$$ \fs0 to \fs7 $$\fs6 x \ = \ \frac{\sqrt{144}}{2} \ \times \ (y \ + \ 12)$$ As well, you can use \tiny \small \normalsize \large \Large \LARGE \huge \Huge $$\normalsize x \ = \ \frac{\sqrt{144}}{2} \ \times \ (y \ + \ 12)$$ It appears that TeX Notation in Moodle now allows \fs6, \fs7, \huge and \Huge to be properly rendered. Colour Unlike many scripting languages, we only need to name the colour we want to use. You may have to experiment a little with colours, but it will make for a brighter page. Once named, the entire statement will appear in the colour, and if you mix colours, the last named colour will dominate. Some examples: $$ \red x \ = \ \frac{\sqrt{144}}{2} \ \times \ (y \ + \ 12) $$ $$ \blue x \ = \ \frac{\sqrt{144}}{2} \ \times \ (y \ + \ 12) $$ $$ \green x \ = \ \frac{\sqrt{144}}{2} \ \times \ (y \ + \ 12) $$ $$ \red x \ = \ \frac{\sqrt{144}}{2}$$ $$ \times $$ $$\green (y \ + \ 12) $$ $$ \ = $$ $$ \ \blue 6^3 $$ Moodle 2.2 note: You may find this doesn't work for you. You can try to add "\usepackage{color}" to your tex notation setting "LaTeX preamble" (under Site administration/Plugins/Filters/TeX notation)and then use this new syntax: $$ \color{red} x \ = \ \frac{\sqrt{144}}{2} \ \times \ (y \ + \ 12) $$ You may note this last one, it is considerably more complex than the previous for colours. TeX Notation in Windows does not allow multicoloured equations, if you name a number of colours in the equation, only the last named will be used. Geometric Shapes There are two ways to produce geometric shapes, one is with circles and the other is with lines. Each take a bit of practice to get right, but they can provide some simple geometry. It may be easier to produce the shapes in Illustrator or Paint Shop Pro or any one of a number of other drawing packages and use them to illustrate your lessons, but sometimes, some simple diagrams in Moodle will do a better job. Circles Circles are easy to make. Circles are easily created, and only needs a number to determine how large the circle is. To create the circle use $$ \circle(150) $$. This makes a circle of 150 pixels in diameter. Creating Arcs Arcs are also easy to produce, but require some additional parameters. The same code structure used in circles create the basic shape, but the inclusion of a start and end point creates only the arc. However, notice where the 0 point is, not at the true North, but rather the East and run in an anti-clockwise direction. $$ \circle(120;90,180)$$ $$ \circle(120;0,90)$$ $$ \circle(120;180,270)$$ $$ \circle(120;270,360)$$ This structure breaks down into the \circle command followed by the diameter, not the radius, of the circle, followed by a semi-colon, then the demarcation of the arc, the nomination of the start and end points in degrees from the 0, East, start point. Note that the canvas is the size of the diameter nominated by the circle's parameters. The \picture Command Using circles and arcs as shown above is somewhat limiting. The \picture command allows you to use a frame in which to build a picture of many layers. Each part of the picture though needs to be in its own space, and while this frame allows you to be creative, to a degree, there are some very hard and fast rules about using it. All elements of a picture need to be located within the picture frame. Unexpected results occur when parts of an arc, for example, runs over the border of the frame. (This is particularly true of lines, which we will get to next, and the consequences of that overstepping of the border can cause serious problems.) The \picture command is structured like: \picture(100){(50,50){\circle(200)}} \command(size of frame){(x co-ordinate, y co-ordinate){\shape to draw(size or x co-ordinate, y co-ordinate)}) NOTE: The brace is used to enclose each set of required starting point coordinates. Inside each set of braces, another set of braces is used to isolate each set of coordinates from the other, and those coordinates use their proper brackets and backslash. Count the opening and closing brackets, be careful of the position, $$ \picture(100){(50,50){\circle(200)}}&& The picture frame brings elements together that you may not otherwise see. Because of the frame size of 100px and the centre point of the circle in the mid-point of the frame, the 200px circle will be squashed. Unexpected results occur when sizes are not correct. Using the picture frame, you can layer circles and lines over each other, or they can intersect. $$ \picture(100){(50,50){\circle(99)} (50,50){\circle(80)}} $$ You may want to see an image of a circle with a dot in the middle. You may have to try to place the centre dot correctly, but the ordering of the elements in the image may have an impact. $$ \picture(100){(48,46){\bullet}(50,50){\circle(99)}} $$ Using the same ideas as above, you can make semi-circles. $$\picture(150){(50,50){\circle(100;0,180)}(100,50){\circle(100;180,360)}}$$ Lines Warning: Drawing lines in TeX Notation in Moodle is an issue, go to the Using Text Notation for more information. If the line is not noted properly then the parser will try to correctly draw the line but will not successfully complete it. This means that every image that needs be drawn will be drawn until it hits the error. When the error is being converted, it fails, so no subsequent image is drawn. Be careful and make sure your line works BEFORE you move to the next problem or next image. a couple of lines $$\red \picture(200){(20,0){ \line(180,0)}{(20,180){\line(180,0}$$ The structure of the picture box is that the \picture(200) provides a square image template. The (20,0) provides the starting coordinates for any line that comes after. In this case the start point is at 20pixels in the x axis and 0 pixels in the y axis. The starting point for all coordinates, 0,0, is the bottom left corner and they run in a clockwise manner. Do not confuse this with arcs. The \line(180,0) determines the length and inclination of the line. In this case, the inclination is 0 and the length is 180px. These are enclosed in braces, all inside one set of braces owned by the \picture() control sequence. The next set of commands are the same, that is, the (20,200) are the coordinates of the next line. The x co-ordinate is the 20, that is the distance to the right from the 0 point. The y co-ordinates is the distance from the bottom of the image. Whereas the first line started and ran on the bottom of the picture frame, the y co-ordinate starts at the 200 pixel mark from the bottom of the image. The line, at 180 pixels long and has no y slope. This creates a spread pair of parallel lines. \picture explained While this explains the structure of a line, there is a couple of elements that you need to go through to do more with them. Squares and Rectangles Drawing squares and rectangles is similar, but only slightly different. There should be a square box tool, and there is, but unless it has something inside it, it does not display. It is actually easier to make a square using the \line command. This box is constructed using: $$ \picture(250){(10,10){\line(0,230)}(10,10){\line(230,0)}(240,10){\line(0,230)}(10,240){\line(230,0)}}$$ It is a 250 pixel square box with a 230 pixel square inside it. This box is different in that is has the equal length indicators that are used in a square. $$ \picture(250){(10,10){\line(0,230)} (5,120){\line(10,0)} (10,10){\line(230,0)} (120,5){\line(0,10)} (240,10){\line(0,230)} (235,120){\line(10,0)} (10,240){\line(230,0)} (120,235){\line(0,10)}}$$ The rectangle then becomes the same thing, but with one side shorter. For a portrait canvas it would be: $$ \picture(250){(10,10){\line(0,230)}(10,10){\line(150,0)}(160,10){\line(0,230)}(10,240){\line(150,0)}}$$ The rectangle can also produce a landscape shape: $$ \picture(250){(10,10){\line(0,160)}(10,10){\line(230,0)}(240,10){\line(0,160)}(10,170){\line(230,0)}}$$ Controlling Angles Controlling angles is a little different. They involve a different perception, but not one that is unfamiliar. Consider this: We have a point from which we want to draw a line that is on an angle. The notation used at this point can be positive, positive or positive, negative or negative, positive or negative, negative. Think of it like a number plane or a graph, using directed numbers. The 0,0 point is in the centre, and we have four quadrants around it that give us one of the previously mentioned results. $$\picture(100){(50,50){\line(40,45)}}$$, a positive x and positive y $$\picture(100){(50,50){\line(-40,45)}}$$ a negative x and positive y $$\picture(100){(50,50){\line(-40,-45)}}$$ a negative x and negative y $$\picture(100){(50,50){\line(40,-45)}}$$ a positive x and a negative y Essentially, what these points boil down to is that anything above the insertion point is a positive on the y axis, anything below is a negative. Anything to the left of the insertion point is a negative while everything to the right is a positive. $$\picture(100){(50,50){\line(40,45)}(50,50){\line(-40,45)}(50,50){\line(-40,-45)}(50,50){\line(40,-45)}}$$ The co-ordinate alignment process in TeX is not that good that you can use one set of co-ords as a single starting point for all lines. The layering of each object varies because of the position of the previous object, so each object needs to be exactly placed. This co-ord structure has a great deal of impact on intersecting lines, parallel lines and triangles. Intersecting Lines You can set up an intersecting pair easily enough, using the \picture control sequence. $$ \picture(200){(10,0){\line(150,150)} (0,130){\line(180,-180)}} $$ The lines that are drawn can be labeled. $$ \picture(200){(10,0){\line(150,150)}(0,130){\line(180,-180)} (0,10){A}(0,135){B}(140,0){C}(140,150){D}(62,80){X}} $$ To produce another image. To which you may want to ask the question: $$The \ \angle \ of \ AXB \ is \ 72\textdegree. \ What \ is \ the \ value \ of \ \angle BXD? $$ NOTE: Labeling this image, above-right, turned out to be fairly simple. Offsetting points by a few pixels at the start or end points of the lines proved a successful strategy. The X point proved a little more problematic, and took a number of adjustments before getting it right. Experience here will help. With labels the drawing can become a little more like your traditional geometric drawing, but the devil is in the details. The parallel markers need to be placed properly, and that is where experience really comes into it. On lines that are vertical or horizontal, you can get away with using the > or < directly from the keyboard, or the ≫ {\displaystyle \gg } or ≪ {\displaystyle \ll } symbols. In either case, you need to position them properly. The code: $$\picture(200){(15,45){\line(170,0)} (15,30){c}(170,28){d}(15,160){\line(170,0)}(15,145){e}(180,143){f}(50,20){\line(110,175)}(58,20){a}(140,185){b}(42,32){\kappa}(53,48){\beta} (150,165){\kappa} (90,38){\gg}(80,153){\gg} }$$ Lines and Arcs Combining lines and arcs is a serious challenge actually, on a number of levels. For example, lets take an arc from the first page on circles. Fairly innocuous of itself, but when we start to add in elements, it changes dramatically. $$ \circle(120;90,180) $$ $$\picture(150){(75,75){\circle(120;90,180)}(75,75){\line(-70,0)}(75,75){\line(0,75)}} $$ All elements in this drawing start in the same place. Each is layered, and properly placed on the canvas, and using the same co-ord to start makes it easy to control them. No matter the size of the arc, intersecting lines can all be drawn using the centre co-ords of the arc. Triangles Of all the drawing objects, it is actually triangles that present the most challenge. For example: $$\picture(350){(10,10){\line(0,320)}(10,330){\line(330,0)}(10,10){\line(330,320)}}$$ This is a simple triangle, one that allows us to establish a simple set of rules for the sides. The vertical always has an x=0 co-ord and the horizontal always has a y=0 co-ord. In this case with an x value of 330 on the horizontal, and a y value of 320 on the vertical, the hypotenuse should then have a value of x=340, and the y=330, but not so, they actually have an x=330 and a y=320. There is no need to add the starting point co-ords to the x and y values of the line. $$picture(350){(10,10){\line(330,0)}(340,10){\line(0,320)}(340,330){\line(-330,-320)}}$$ This triangle has been developed for a Trigonometry page - but the additional notation should provide insight into how you can use it. This is a labeled image, but it has an \fbox in it with its little line. With some effort, it could be replaced with two intersecting short lines. $$\picture(350,150){(25,25){\line(300,0)}(325,25){\line(0,110)}(25,25){\line(300,110)}(309,25){\fbox{\line(5,5)}} (307,98){\theta}(135,75){\beta}(150,5){\alpha}(335,75){\epsilon}}$$ The triangle shows like: We use the different elements of the triangle to identify those things we need to know about a right-angled triangle. The hypotenuse is always the side that is opposite the right angle. The longest side is always the Hypotenuse. To identify the other elements of the triangle we look for the sign θ {\displaystyle \theta } . Θ {\displaystyle \Theta } is the starting point for naming the other sides. The side that is opposite ∠ θ {\displaystyle \angle \theta } is known as the Opposite. The side that lies alongside ∠ θ {\displaystyle \angle \theta } is known as the Adjacent side. To determine which is which, draw a line that bisects ∠ θ {\displaystyle \angle \theta } and whatever line it crosses is the Opposite side. The code: $$ \picture(350,250){(25,25){\line(300,0)}(25,25){\line(0,220)}(25,245){\line(300,-220)}(310,25){\circle(100;135,180)}(20,100){\line(310,-75)} (25,25){\fbox{\line(5,5)}}(25,25){\line(150,150)}(165,140){Hypotenuse}(120,2){Adjacent}(2,80){\rotatebox{90}{Opposite}}(270,40){\theta}}$$ Matrices A Matrix is a rectangular array of numbers arranged in rows and columns which can be used to organize numeric information. Matrices can be used to predict trends and outcomes in real situations - i.e. polling. A Matrix A matrix can be written and displayed like In this case the matrix is constructed using the brackets before creating the array: $$ M = \left[\begin{array}{ccc} a&b&1 \\ c&d&2 \\ e&f&3\end{array}\right] $$ The internal structure of the array is generated by the &, ampersand, and the double backslash. You can also create a grid for the matrix. A dashed line A solid line A mixed line $$ M = \left[\begin{array}{c.c.c} a&b&1 \ \hdash c&d&2 \ \hdash e&f&3\end{array}\right] $$ c|c} a&b&1 \ \hline c&d&2 \ \hline e&f&3\end{array}\right] $$ c} a&b&1 \ \hline c&d&2 \ \hdash e&f&3\end{array}\right] $$ The command sequences here are the {c|c.c} and \hdash and \hline. The pipe, |, and the full stop determine the line type for the vertical line. Matrices also respond to other TeX Notation commands such as size and colour. Colour Size $$ \blue M = \left[\begin{array}{c.c.c} a&b&1 \ \hdash c&d&2 \ \hdash e&f&3\end{array}\right] $$ $$ \fs7 M = \left[\begin{array}{c.c.c} a&b&1 \ \hdash c&d&2 \ \hdash e&f&3\end{array}\right] $$ $$ \fs2 M = \left[\begin{array}{c.c.c} a&b&1 \ \hdash c&d&2 \ \hdash e&f&3\end{array}\right] $$ Creating equal and unequal matrices Equal and unequal matrices are simply matrices that either share or not share the same number of rows and columns. To be more precise, equal matrices share the same order and each element in the corresponding positions are equal. Anything else is unequal matrices. Actually equal and unequal matrices are constructed along similar lines, but have different shapes: Equal Matrix An unequal matrix $$ \left[\begin{array} a&b&1 \ c&d&2 \ e&f&3\end{array}\right] \ = \ \left[\begin{array} 12&11&z \ 10&9&y \ 8&7&x\end{array}\right] $$ $$ \left[\begin{array} a&b \ c&d \ e&f \end{array}\right] \ \neq \ \left[\begin{array} 12&11&z \ 10&9&y \ 8&7&x\end{array}\right] $$ Labeling a Matrix Addition and subtraction matrices are similar again, but the presentation is usually very different. The problem comes when trying to mix labels into arrays. The lack of sophistication in the TeX Notation plays against it here. Moodle allows an easy adoption of tables to make it work though. For example: Bill the baker supplies three shops, A, B and C with pies, pasties and sausage rolls. He is expected to determine the stock levels of those three shops in his estimation of supplies. It is better to use the Moodle Fullscreen editor for this, to have a better idea of how the end product will look and to take advantage of the additional tools available. Design decisions need occupy our attention for a while. We need a table of five rows and four columns. The first row is a header row, so the label is centred. The next row needs four columns, a blank cell to start and labels A, B and C. The next three rows are divided into two columns, with the labels, pies, pasties and sausage rolls in each row of the first column and the matrix resides in a merged set of columns there. So first the table: Insert Table - initial properties Merge Cells Button Advanced Properties You may need to look into the Advanced properties setting of the tables and cells to make this work. This is the immediate result: While not a very good look, it can be made better by tweaking the table using the advanced settings and properties buttons and then you can tweak the matrix itself. Tweaking the Matrix Things are not always as they seem, be aware, the "c" does not stand for "column", it actually stands for "centre". The columns are aligned by the letters l, for left, c for centre and r for right. Each column is spread across 50 pixels, so the value of 50 is entered into the alignment declaration. The plus sign before the value is used to "propogate" or to force the value across the whole matrix, but is not used when wanting to separate only one column. To set the rows is a little more problematic. The capital letter C sets the vertical alignment to the centre, (B is for baseline, but that does not guarantee that the numbers will appear on the base line, and there does not appear to be any third value). The plus sign and following value sets the height of all rows to the number given. In this I have given it a value of 25 pixels for the entire matrix. If there were four or five rows, the same height requirement is made. The order things appear is also important. If you change the order of these settings, they will either not work at all, or will not render as you expect them to. If something does not work properly, then check to make sure you have the right order first. An Addition Matrix The rule for performing operations on matrices is that they must be equal matrices. For example, addition matrices look like: with the results obvious. The code is: $$\left[\begin{array}{c+50C+25.c.c} 11&14&12 \ \hdash16&12&22 \ \hdash 14&17&15 \end{array}\right] + \left[\begin{array}{c+50C+25.c.c} 60&60&60 \ \hdash 40&40&30 \ \hdash 30&30&30 \end{array}\right] $$ A Subtraction Matrix Similar to an addition matrix in its construction, the subtraction matrix is subject to the same rules of equality. Using the same essential data, we can calculate the daily sales of each of the shops. The code is: $$ \left[\begin{array}{c+50C+25.c.c} 72&95&68 \ \hdash 54&61&65 \ \hdash 48&51&60 \end{array}\right] - \left[\begin{array}{c+50C+25.c.c} 11&14&12 \ \hdash 16&12&22 \ \hdash 14&17&15 \end{array}\right] = \left[\begin{array}{c+50C+25.c.c} 61&81&56 \ \hdash 38&49&43 \ \hdash 34&34&48 \end{array}\right] $$ This code looks more complex than it really is, it is cluttered by the lines and alignment sequences. Multiplication Matrices Different than the addition or subtraction matrices, the multiplication matrix comes in three parts, the row matrix, the column matrix and the answer matrix. This implies it has a different construction methodology. And the code for this is: $$ \begin{array} 10&14&16\end{array} \ \left[\begin{array} 45 \\ 61 \\ 19 \end{array}\right] \ = \ \begin{array} 450&854&304\end{array} $$ While different, it is not necessarily more complex. For example, a problem like: Bill the baker is selling his product to Con the cafe owner, who wants to make sure his overall prices are profitable for himself. Con needs to make sure that his average price is providing sufficient profit to be able to keep the cafes open. Con makes his calculations on a weekly basis, comparing cost to sale prices. With the pies, pasties and sausage rolls in that order he applies them to the cost and sale price columns : The code for this is: $$\left[\begin{array} 350&310&270 \end{array}\right] \ \left[\begin{array} \$2.10&\$3.60 \ \$2.05&\$3.60 \ \$1.90&\$3.10 \end{array} \right] \ = \ \left[\begin{array} \$735.00&\$1260.00 \ \$635.50&\$1116.00 \ \$513.00&$\837.00 \end{array}\right] $$ How to wrap long MathJax equations As described by Christopher Sangwin: See this documentation. Add CommonHTML: { linebreaks: { automatic: true } }, "HTML-CSS": { linebreaks: { automatic: true } }, SVG: { linebreaks: { automatic: true } } to "filter_mathjaxloader | mathjaxconfig" in the filter settings: Dashboard > Site administration > Plugins > Filters > MathJax Seems to do the trick. See also Mathematics tools FAQ MathJax filter - available in Moodle 2.7 and later TeX notation filter To turn on the TeX Notation DragMath equation editor Chemistry notation using mhchem Source: docs.moodle.org/503/en/Using TeX Notation 4 — MoodleDocs (GPL) · Imported 2026-11-10. Using TeX notation Note: This page is a work-in-progress. Feedback and suggested improvements are welcome. Please join the discussion on moodle.org or use the . TeX (/'tɛx/tekh, often pronounced TeK in English) is a very widespread and popular way of representing Mathematics notation using only characters that you can type on a keyboard (see Wikipedia). This makes it a useful format to use in Moodle, since it can be entered anywhere you can type text, from forum posts to quiz questions. TeX expressions can be entered in multiple ways: typing them directly into texts. using the Java-based Dragmath editor in Moodle's TinyMCE editor. Afterwards, TeX expressions are rendered into Mathematics notation: using the TeX filter in Moodle, which uses a TeX binary installed on the server to convert expressions into .gif images (or if that is not available, it falls back to a simple built-in mimetex binary). using the MathJax filter which identifies TeX expressions and uses the Mathjax JS library to render them in browsers at display time (since Moodle 2.7). using other third-party solutions. As you can imagine, the whole field is not as simple as we would like, especially because there are many flavours of TeX and slight variations between tools. This page focusses only on using TeX in core Moodle. See the links at the bottom of this page for more information on setting up TeX editors and filters, including other tools from the Moodle community that may be suitable for advanced users. WARNING: This Wiki environment uses a DIFFERENT TeX renderer to Moodle, especially when it comes to control sequences. For this reason images are sometimes used to represent what it should look like in Moodle. YMMV. 1 Language Conventions 2 Equation displayed on its own line 3 Equation displayed within text 4 Reserved Characters and Keywords 5 Superscripts, Subscripts and Roots 6 Fractions 7 Brackets 8 Ellipsis 9 Symbols 10 Arrows 11 Delimiters and Maths Constructs 12 Greek Letters 13 Boolean algebra 14 Fonts 15 Size of displays 16 Colour 17 Geometric Shapes 18 Circles 19 Creating Arcs 20 The \picture Command 21 Lines 22 Squares and Rectangles 23 Controlling Angles 24 Intersecting Lines 25 Lines and Arcs 26 Triangles 27 Matrices 27.1 A Matrix 27.2 Creating equal and unequal matrices 27.3 Labeling a Matrix 27.4 Tweaking the Matrix 27.5 An Addition Matrix 27.6 A Subtraction Matrix 27.7 Multiplication Matrices 27.8 How to wrap long MathJax equations 27.9 See also Language Conventions To identify a TeX sequence in your text, surround it with $$ markers. To invoke a particular command or control sequence, use the backslash, \. A typical control sequence looks like: $$ x\ =\ \frac{\sqrt{144}}{2}\ \times\ (y\ +\ 12) $$ Fraction and square root. Additional spaces can be placed into the equation using the \ without a trailing character. Equation displayed on its own line When an equation is surrounded by a pair of $$ markers, it is displayed centered on its own line. The $$’s are primitive TeX markers. With LaTeX, it is often recommended to use the pair \[ and \] to enclose equations, rather than the $$ markers, because the newer syntax checks for mistyped equations and better adjusts vertical spacing. If the TeX Notation filter is activated, which set a LaTeX renderer, the same equation as above is obtained with the following control sequence: \[ x\ =\ \frac{\sqrt{144}}{2}\ \times\ (y\ +\ 12) \] However, if the equation is mistyped, it will be displayed enclosed in a box to signal the mistake and if the equation appears in a new paragraph, the vertical space above the equation will adjust correctly. Using \[ … \] instead of $$ … $$ may have other advantages. For example, with the Wiris equation editor installed, the Atto editor undesirably transforms the TeX code of equations enclosed with $$ into XML code, whereas it does not do so when the equations are enclosed with \[ and \]. Equation displayed within text With the TeX notation filter activated, an equation is displayed within the text when it is surrounded by the pair \( and \). For example, the following: The point \( \left( {{x}_{0}}+\frac{1}{p\left( {{x}_{0}} \right)}\ ,\ \frac{q\left( {{x}_{0}} \right)}{p\left( {{x}_{0}} \right)} \right) \) is located... will display as follows: Note that the single $ marks may not work for this purpose. Reserved Characters and Keywords Most characters and numbers on the keyboard can be used at their default value. As with any computing language, though, there are a set of reserved characters and keywords that are used by the program for its own purposes. TeX Notation is no different, but it does have a very small set of Reserved Characters. This will not be a complete list of reserved characters, but some of these are: @ # $ % ^ & * ( ) . To use these characters in an equation just place the \ in front of them like \$ or \%. If you want to use the backslash, just use \backslash. The only exception here seems to be the &, ampersand. Superscripts, Subscripts and Roots Superscripts are recorded using the caret, ^, symbol. An example for a Maths class might be: $$ 4^2 \ \times \ 4^3 \ = 4^5 $$ This is a shorthand way of saying: (4 x 4) x (4 x 4 x 4) = (4 x 4 x 4 x 4 x 4) or 16 x 64 = 1024. 4 2   ×   4 3   = 4 5 {\displaystyle 4^{2}\ \times \ 4^{3}\ =4^{5}} Subscripts are similar, but use the underscore character. $$ 3x_2 \ \times \ 2x_3 $$ 3 x 2   ×   2 x 3 {\displaystyle 3x_{2}\ \times \ 2x_{3}} This is OK if you want superscripts or subscripts, but square roots are a little different. This uses a control sequence. $$ \sqrt{64} \ = \ 8 $$ 64   =   8 {\displaystyle {\sqrt {64}}\ =\ 8} You can also take this a little further, but adding in a control character. You may ask a question like: $$ If \ \sqrt[n]{1024} \ = \ 4, \ what \ is \ the \ value \ of \ n? $$ I f   1024 n   =   4 ,   w h a t   i s   t h e   v a l u e   o f   n ? {\displaystyle If\ {\sqrt[{n}]{1024}}\ =\ 4,\ what\ is\ the\ value\ of\ n?} Using these different commands allows you to develop equations like: $$ The \sqrt{64} \ \times \ 2 \ \times \ 4^3 \ = \ 1024 $$ T h e 64   ×   2   ×   4 3   =   1024 {\displaystyle The{\sqrt {64}}\ \times \ 2\ \times \ 4^{3}\ =\ 1024} Superscripts, Subscripts and roots can also be noted in Matrices. Fractions Fractions in TeX are actually simple, as long as you remember the rules. $$ \frac{numerator}{denominator} $$ which produces n u m e r a t o r d e n o m i n a t o r {\displaystyle {\frac {numerator}{denominator}}} . This can be given as: 5 10   i s   e q u a l   t o   1 2 {\displaystyle {\frac {5}{10}}\ is\ equal\ to\ {\frac {1}{2}}} . This is entered as: $$ \frac{5}{10} \ is \ equal \ to \ \frac{1}{2}.$$ With fractions (as with other commands) the curly brackets can be nested so that for example you can implement negative exponents in fractions. As you can see, $$\frac {5^{-2}}{3}$$ will produce 5 − 2 3 {\displaystyle {\frac {5^{-2}}{3}}} $$\left(\frac{3}{4}\right)^{-3}$$ will produce ( 3 4 ) − 3 {\displaystyle \left({\frac {3}{4}}\right)^{-3}} and $$\frac{3}{4^{-3}}$$ will produce 3 4 − 3 {\displaystyle {\frac {3}{4^{-3}}}} You likely do not want to use $$\frac{3}{4}^{-3}$$ as it produces 3 4 − 3 {\displaystyle {\frac {3}{4}}^{-3}} You can also use fractions and negative exponents in Matrices. Brackets As students advance through Maths, they come into contact with brackets. Algebraic notation depends heavily on brackets. The usual keyboard values of ( and ) are useful, for example: d = 2   ×   ( 4   −   j ) {\displaystyle d=2\ \times \ (4\ -\ j)} This is written as: $$ d = 2 \ \times \ (4 \ - \ j) $$ Usually, these brackets are enough for most formulae but they will not be in some circumstances. Consider this: 4 x 3   +   ( x   +   42 1 + x 4 ) {\displaystyle 4x^{3}\ +\ (x\ +\ {\frac {42}{1+x^{4}}})} Is OK, but try it this way: 4 x 3   +   ( x   +   42 1 + x 4 ) {\displaystyle 4x^{3}\ +\ \left(x\ +\ {\frac {42}{1+x^{4}}}\right)} This can be achieved by: $$ 4x^3 \ + \ \left(x \ + \ \frac{42}{1 + x^4}\right) $$ A simple change using the \left( and \right) symbols instead. Note the actual bracket is both named and presented. Brackets are almost essential in Matrices. Ellipsis The Ellipsis is a simple code: x 1 ,   x 2 ,   … ,   x n {\displaystyle x_{1},\ x_{2},\ \ldots ,\ x_{n}} Written like: $$ x_1, \ x_2, \ \ldots, \ x_n $$ A more practical application could be: Question: "Add together all the numbers from 1 … {\displaystyle \ldots } 38. What is an elegant and simple solution to this problem? Can you create an algebraic function to explain this solution? Will your solution work for all numbers?" Answer: The question uses an even number to demonstrate a mathematical process and generate an algebraic formula. Part 1: Part 2. Part 3. 1.   1   +   38   =   39 {\displaystyle 1.\ 1\ +\ 38\ =\ 39} 2.   2   +   37   =   39 {\displaystyle 2.\ 2\ +\ 37\ =\ 39} 3.   3   +   36   =   39 {\displaystyle 3.\ 3\ +\ 36\ =\ 39} … {\displaystyle \ldots } 19.19   +   20   =   39 {\displaystyle 19.19\ +\ 20\ =\ 39} ∴ x   =   39   ×   19 {\displaystyle \therefore x\ =\ 39\ \times \ 19} ∴ x   =   741 {\displaystyle \therefore x\ =\ 741} An algebraic function might read something like: t = ( 1 + n ) × n / 2 {\displaystyle t=(1+n)\times n/2} Where t = total and n = the last number. The solution is that, using the largest and the smallest numbers, the numbers are added and then multiplied by the number of different combinations to produce the same result adding the first and last numbers. The answer must depend on the number, n 2 {\displaystyle {\frac {n}{2}}} being a whole number. Therefore, the solution will not work for an odd range of numbers, only an even range. Symbols These are not all the symbols that may be available in TeX Notation for Moodle, just the ones that I have found to work in Moodle. \amalg ⨿ {\displaystyle \amalg } \cup ∪ {\displaystyle \cup } \oplus ⊕ {\displaystyle \oplus } \times × {\displaystyle \times } \ast ∗ {\displaystyle \ast } \dagger † {\displaystyle \dagger } \oslash ⊘ {\displaystyle \oslash } \triangleleft ◃ {\displaystyle \triangleleft } \bigcirc ◯ {\displaystyle \bigcirc } \ddagger ‡ {\displaystyle \ddagger } \otimes ⊗ {\displaystyle \otimes } \triangleright ▹ {\displaystyle \triangleright } \bigtriangledown ▽ {\displaystyle \bigtriangledown } \diamond ⋄ {\displaystyle \diamond } \pm ± {\displaystyle \pm } \odot ⊙ {\displaystyle \odot } \bigtriangleup △ {\displaystyle \bigtriangleup } \div ÷ {\displaystyle \div } \ominus ⊖ {\displaystyle \ominus } \wr ≀ {\displaystyle \wr } \circ ∘ {\displaystyle \circ } \wedge ∧ {\displaystyle \wedge } \vee ∨ {\displaystyle \vee } \sqcup ⊔ {\displaystyle \sqcup } \leq ≤ {\displaystyle \leq } \geq ≥ {\displaystyle \geq } \equiv ≡ {\displaystyle \equiv } \prec ≺ {\displaystyle \prec } \succ ≻ {\displaystyle \succ } \sim ∼ {\displaystyle \sim } \perp ⊥ {\displaystyle \perp } \preceq ⪯ {\displaystyle \preceq } \succeq ⪰ {\displaystyle \succeq } \simeq ≃ {\displaystyle \simeq } \mid ∣ {\displaystyle \mid } \ll ≪ {\displaystyle \ll } \gg ≫ {\displaystyle \gg } \asymp ≍ {\displaystyle \asymp } \parallel ∥ {\displaystyle \parallel } \subset ⊂ {\displaystyle \subset } \supset ⊃ {\displaystyle \supset } \subseteq ⊆ {\displaystyle \subseteq } \supseteq ⊇ {\displaystyle \supseteq } \approx ≈ {\displaystyle \approx } \neq ≠ {\displaystyle \neq } \ni Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \ni} \notin Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \notin} \in Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \ni} \vdash Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \vdash} \dashv Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \dashv} \bullet Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \bullet} \cdot Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \cdot} Arrows \leftarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \leftarrow} \longleftarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \longleftarrow} \Leftarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Leftarrow} \Longleftarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Longleftarrow} \rightarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \rightarrow} \longrightarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \longrightarrow} \Rightarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Rightarrow} \Longrightarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Longrightarrow} \uparrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \uparrow} \Uparrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Uparrow} \downarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \downarrow} \Downarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Downarrow} \leftrightarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \leftrightarrow} \longleftrightarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \longleftrightarrow} \updownarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \updownarrow} \Updownarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Updownarrow} \Leftrightarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Leftrightarrow} \Longleftrightarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Longleftrightarrow} \leftrightharpoons Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \rightleftharpoons} \Im Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Im} \nearrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \nearrow} \nwarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \nwarrow} \swarrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \swarrow} \searrow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \searrow} Delimiters and Maths Constructs NOTE: Most delimiters and constructs need additional parameters for them to appear appropriately. \{x Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \{x } \} Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle x | \} } \rangle Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \rangle } \langle Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \langle } \angle Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \angle } \= Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \| } \sqrt{ab} Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \sqrt{ab}} \sqrt[n]{ab} Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \sqrt[n]{ab}} \frac{ab}{cd} Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \frac{ab}{cd}} \backslash Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \backslash} \widehat{ab} Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \widehat{ab}} \$ Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \$ } \overline{ab} Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \overline{ab}} \underline{ab} Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \underline{ab}} \therefore Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \therefore} \ddots Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \ddots} \% Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \%} \# Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \# } \vdots Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \vdots} \emptyset Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \emptyset} WARNINGS: The & character in LaTeX usually requires a backslash, \. In TeX Notation for Moodle, apparently, it does not. Other packages, AsciiMath, may use it differently again so be careful using it. The copyright character may use the MimeTeX charset, and produces a copyright notice for John Forkosh Associates who provided a lot of the essential packages for the TeX Notation for Moodle, so I understand. I have been, almost reliably, informed that a particular instruction will produce a different notice though .:) There are also a number of characters that can be used in TeX Notation for Moodle but do not render in this page: Larger \left(x and \right) brackets \widetilde{ab} \textdegree or (50)^\circ Greek Letters Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \alpha} \alpha Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \beta} \beta Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \gamma} \gamma Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \delta} \delta Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \epsilon} \epsilon Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \zeta} \zeta Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \eta} \eta Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \theta} \theta Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \iota} \iota Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \kappa} \kappa Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \lambda} \lambda Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \mu} \mu Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \xi} \xi Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \pi} \pi Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \rho} \rho Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \sigma} \sigma Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \tau} \tau Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \upsilon} \upsilon Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \phi} \phi Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \chi} \chi Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \psi} \psi Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \omega} \omega Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Omega} \Omega Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Theta} \Theta Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Delta} \Delta Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Pi} \Pi Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Phi} \Phi Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \Gamma } \Gamma Λ {\displaystyle \Lambda } \Lambda Σ {\displaystyle \Sigma } \Sigma Ψ {\displaystyle \Psi } \Psi Ξ {\displaystyle \Xi } \Xi Υ {\displaystyle \Upsilon } \Upsilon ϑ {\displaystyle \vartheta } \vartheta ϱ {\displaystyle \varrho } \varrho φ {\displaystyle \varphi } \varphi ς {\displaystyle \varsigma } \varsigma Notable Exceptions Greek letter omicron (traditionally, mathematicians don't make much use of omicron due to possible confusion with zero). Simply put, lowercase omicron is an "o" redered as o. But note \omicron may now work with recent TeX implementations including MathJax. At the time of writing, these Greek capital letters cannot be rendered by TeX Notation in Moodle: Alpha, Beta, Zeta, Eta, Tau, Chi, Mu, Iota, Kappa and Epsilon. TeX methematics adopts the convention that lowercase Greek symbols are displayed as italics whereas uppercase Greek symbols are displayed as upright characters. Therefore, the missing Greek capital letters can simply be represented by the \mathrm{ } equivalent A , B , Z , H , T , X , M , I , K , E {\displaystyle \mathrm {A,B,Z,H,T,X,M,I,K,E} } Boolean algebra There are a number of different conventions for representing Boolean (logic) algebra. Common conventions used in computer science and electronics are detailed below: Negation, NOT, ¬, !, ~, − \lnot, !, \sim, \overline{ } Conjunction, AND, ∧, ⋅ {\displaystyle \cdot } \land, \wedge, \cdot Dysjunction, OR, ∨, +, \lor, \vee, + Exclusive dysjunction, XOR ⊻, ⊕ \veebar, \oplus Equivalence, If and only if, Iff, ≡, ↔, ⇔ \equiv, \leftrightarrow \iff Example: two representations of De Morgan's laws: A ⋅ B = A ¯ + B ¯ ¯ {\displaystyle A\cdot B={\overline {{\overline {A}}+{\overline {B}}}}} $$ A \cdot B = \overline{\overline{A} + \overline{B}} SS ( A ∧ B ) ≡ ¬ ( ¬ A ∨ ¬ B ) {\displaystyle (A\land B)\equiv \lnot (\lnot {A}\lor \lnot {B})} $$ (A \land B) \equiv \lnot(\lnot{A} \lor \lnot{B}) $$ Fonts To use a particular font you need to access the font using the same syntax as demonstrated above. A math calligraphic font: A B C D E F G H I J K L M N O P Q R S T U V X Y Z {\displaystyle {\mathcal {ABCDEFGHIJKLMNOPQRSTUVXYZ}}} or $$ \mathcal{ABCDEFGHIJKLMNOPQRSTUVXYZ}$$ Blackboard bold, a Castellar type font: A B C D E F G H I J K L M N O P Q R S T U V X Y Z {\displaystyle \mathbb {ABCDEFGHIJKLMNOPQRSTUVXYZ} } or $$ \mathbb{ABCDEFGHIJKLMNOPQRSTUVXYZ}$$ Often used in number theory. For example: N {\displaystyle \mathbb {N} } = set of natural numbers including 0 {0, 1, 2, 3, ...}, Z {\displaystyle \mathbb {Z} } = set of integers {-..., -3, -2, -1, 0, 1, 2, 3, ... }, Q {\displaystyle \mathbb {Q} } = set of rational numbers, including integers, R {\displaystyle \mathbb {R} } = set of real numbers, which includes the natural numbers, rational numbers and irrational numbers. Fraktur, an Old English type font: A B C D E F G H I J K L M N O P Q R S T U V X Y Z {\displaystyle {\mathfrak {ABCDEFGHIJKLMNOPQRSTUVXYZ}}} or $$ \mathfrak{ABCDEFGHIJKLMNOPQRSTUVXYZ}$$ This is different in Tex Notation in Moodle than it is for other, full, TeX packages. An italic font: A B C D E F G H I J K L M N O P Q R S T U V X Y Z {\displaystyle {\mathit {ABCDEFGHIJKLMNOPQRSTUVXYZ}}} or $$ \mathit{ABCDEFGHIJKLMNOPQRSTUVXYZ} $$ A normal, upright non-italic, Roman font: A B C D E F G H I J K L M N O P Q R S T U V X Y Z {\displaystyle \mathrm {ABCDEFGHIJKLMNOPQRSTUVXYZ} } or $$ \mathrm{ABCDEFGHIJKLMNOPQRSTUVXYZ} $$ A bold-face font: A B C D E F G H I J K L M N O P Q R S T U V X Y Z {\displaystyle \mathbf {ABCDEFGHIJKLMNOPQRSTUVXYZ} } or $$ \mathbf{ABCDEFGHIJKLMNOPQRSTUVXYZ} $$ Size of displays The default size is rendered slightly larger than normal font size. TeX Notation in Moodle uses eight different sizes ranging from "tiny" to "huge". However,these values seem to mean different things and are, I suspect, dependent upon the User's screen resolution. The sizes can be noted in four different ways: \fontsize{0} to \fontsize{7} $$\fontsize{2} x \ = \ \frac{\sqrt{144}}{2} \ \times \ (y \ + \ 12)$$ \fs{0} to \fs{7} $$\fs{4} x \ = \ \frac{\sqrt{144}}{2} \ \times \ (y \ + \ 12)$$ \fs0 to \fs7 $$\fs6 x \ = \ \frac{\sqrt{144}}{2} \ \times \ (y \ + \ 12)$$ As well, you can use \tiny \small \normalsize \large \Large \LARGE \huge \Huge $$\normalsize x \ = \ \frac{\sqrt{144}}{2} \ \times \ (y \ + \ 12)$$ It appears that TeX Notation in Moodle now allows \fs6, \fs7, \huge and \Huge to be properly rendered. Colour Unlike many scripting languages, we only need to name the colour we want to use. You may have to experiment a little with colours, but it will make for a brighter page. Once named, the entire statement will appear in the colour, and if you mix colours, the last named colour will dominate. Some examples: $$ \red x \ = \ \frac{\sqrt{144}}{2} \ \times \ (y \ + \ 12) $$ $$ \blue x \ = \ \frac{\sqrt{144}}{2} \ \times \ (y \ + \ 12) $$ $$ \green x \ = \ \frac{\sqrt{144}}{2} \ \times \ (y \ + \ 12) $$ $$ \red x \ = \ \frac{\sqrt{144}}{2}$$ $$ \times $$ $$\green (y \ + \ 12) $$ $$ \ = $$ $$ \ \blue 6^3 $$ Moodle 2.2 note: You may find this doesn't work for you. You can try to add "\usepackage{color}" to your tex notation setting "LaTeX preamble" (under Site administration/Plugins/Filters/TeX notation)and then use this new syntax: $$ \color{red} x \ = \ \frac{\sqrt{144}}{2} \ \times \ (y \ + \ 12) $$ You may note this last one, it is considerably more complex than the previous for colours. TeX Notation in Windows does not allow multicoloured equations, if you name a number of colours in the equation, only the last named will be used. Geometric Shapes There are two ways to produce geometric shapes, one is with circles and the other is with lines. Each take a bit of practice to get right, but they can provide some simple geometry. It may be easier to produce the shapes in Illustrator or Paint Shop Pro or any one of a number of other drawing packages and use them to illustrate your lessons, but sometimes, some simple diagrams in Moodle will do a better job. Circles Circles are easy to make. Circles are easily created, and only needs a number to determine how large the circle is. To create the circle use $$ \circle(150) $$. This makes a circle of 150 pixels in diameter. Creating Arcs Arcs are also easy to produce, but require some additional parameters. The same code structure used in circles create the basic shape, but the inclusion of a start and end point creates only the arc. However, notice where the 0 point is, not at the true North, but rather the East and run in an anti-clockwise direction. $$ \circle(120;90,180)$$ $$ \circle(120;0,90)$$ $$ \circle(120;180,270)$$ $$ \circle(120;270,360)$$ This structure breaks down into the \circle command followed by the diameter, not the radius, of the circle, followed by a semi-colon, then the demarcation of the arc, the nomination of the start and end points in degrees from the 0, East, start point. Note that the canvas is the size of the diameter nominated by the circle's parameters. The \picture Command Using circles and arcs as shown above is somewhat limiting. The \picture command allows you to use a frame in which to build a picture of many layers. Each part of the picture though needs to be in its own space, and while this frame allows you to be creative, to a degree, there are some very hard and fast rules about using it. All elements of a picture need to be located within the picture frame. Unexpected results occur when parts of an arc, for example, runs over the border of the frame. (This is particularly true of lines, which we will get to next, and the consequences of that overstepping of the border can cause serious problems.) The \picture command is structured like: \picture(100){(50,50){\circle(200)}} \command(size of frame){(x co-ordinate, y co-ordinate){\shape to draw(size or x co-ordinate, y co-ordinate)}) NOTE: The brace is used to enclose each set of required starting point coordinates. Inside each set of braces, another set of braces is used to isolate each set of coordinates from the other, and those coordinates use their proper brackets and backslash. Count the opening and closing brackets, be careful of the position, $$ \picture(100){(50,50){\circle(200)}}&& The picture frame brings elements together that you may not otherwise see. Because of the frame size of 100px and the centre point of the circle in the mid-point of the frame, the 200px circle will be squashed. Unexpected results occur when sizes are not correct. Using the picture frame, you can layer circles and lines over each other, or they can intersect. $$ \picture(100){(50,50){\circle(99)} (50,50){\circle(80)}} $$ You may want to see an image of a circle with a dot in the middle. You may have to try to place the centre dot correctly, but the ordering of the elements in the image may have an impact. $$ \picture(100){(48,46){\bullet}(50,50){\circle(99)}} $$ Using the same ideas as above, you can make semi-circles. $$\picture(150){(50,50){\circle(100;0,180)}(100,50){\circle(100;180,360)}}$$ Lines Warning: Drawing lines in TeX Notation in Moodle is an issue, go to the Using Text Notation for more information. If the line is not noted properly then the parser will try to correctly draw the line but will not successfully complete it. This means that every image that needs be drawn will be drawn until it hits the error. When the error is being converted, it fails, so no subsequent image is drawn. Be careful and make sure your line works BEFORE you move to the next problem or next image. a couple of lines $$\red \picture(200){(20,0){ \line(180,0)}{(20,180){\line(180,0}$$ The structure of the picture box is that the \picture(200) provides a square image template. The (20,0) provides the starting coordinates for any line that comes after. In this case the start point is at 20pixels in the x axis and 0 pixels in the y axis. The starting point for all coordinates, 0,0, is the bottom left corner and they run in a clockwise manner. Do not confuse this with arcs. The \line(180,0) determines the length and inclination of the line. In this case, the inclination is 0 and the length is 180px. These are enclosed in braces, all inside one set of braces owned by the \picture() control sequence. The next set of commands are the same, that is, the (20,200) are the coordinates of the next line. The x co-ordinate is the 20, that is the distance to the right from the 0 point. The y co-ordinates is the distance from the bottom of the image. Whereas the first line started and ran on the bottom of the picture frame, the y co-ordinate starts at the 200 pixel mark from the bottom of the image. The line, at 180 pixels long and has no y slope. This creates a spread pair of parallel lines. \picture explained While this explains the structure of a line, there is a couple of elements that you need to go through to do more with them. Squares and Rectangles Drawing squares and rectangles is similar, but only slightly different. There should be a square box tool, and there is, but unless it has something inside it, it does not display. It is actually easier to make a square using the \line command. This box is constructed using: $$ \picture(250){(10,10){\line(0,230)}(10,10){\line(230,0)}(240,10){\line(0,230)}(10,240){\line(230,0)}}$$ It is a 250 pixel square box with a 230 pixel square inside it. This box is different in that is has the equal length indicators that are used in a square. $$ \picture(250){(10,10){\line(0,230)} (5,120){\line(10,0)} (10,10){\line(230,0)} (120,5){\line(0,10)} (240,10){\line(0,230)} (235,120){\line(10,0)} (10,240){\line(230,0)} (120,235){\line(0,10)}}$$ The rectangle then becomes the same thing, but with one side shorter. For a portrait canvas it would be: $$ \picture(250){(10,10){\line(0,230)}(10,10){\line(150,0)}(160,10){\line(0,230)}(10,240){\line(150,0)}}$$ The rectangle can also produce a landscape shape: $$ \picture(250){(10,10){\line(0,160)}(10,10){\line(230,0)}(240,10){\line(0,160)}(10,170){\line(230,0)}}$$ Controlling Angles Controlling angles is a little different. They involve a different perception, but not one that is unfamiliar. Consider this: We have a point from which we want to draw a line that is on an angle. The notation used at this point can be positive, positive or positive, negative or negative, positive or negative, negative. Think of it like a number plane or a graph, using directed numbers. The 0,0 point is in the centre, and we have four quadrants around it that give us one of the previously mentioned results. $$\picture(100){(50,50){\line(40,45)}}$$, a positive x and positive y $$\picture(100){(50,50){\line(-40,45)}}$$ a negative x and positive y $$\picture(100){(50,50){\line(-40,-45)}}$$ a negative x and negative y $$\picture(100){(50,50){\line(40,-45)}}$$ a positive x and a negative y Essentially, what these points boil down to is that anything above the insertion point is a positive on the y axis, anything below is a negative. Anything to the left of the insertion point is a negative while everything to the right is a positive. $$\picture(100){(50,50){\line(40,45)}(50,50){\line(-40,45)}(50,50){\line(-40,-45)}(50,50){\line(40,-45)}}$$ The co-ordinate alignment process in TeX is not that good that you can use one set of co-ords as a single starting point for all lines. The layering of each object varies because of the position of the previous object, so each object needs to be exactly placed. This co-ord structure has a great deal of impact on intersecting lines, parallel lines and triangles. Intersecting Lines You can set up an intersecting pair easily enough, using the \picture control sequence. $$ \picture(200){(10,0){\line(150,150)} (0,130){\line(180,-180)}} $$ The lines that are drawn can be labeled. $$ \picture(200){(10,0){\line(150,150)}(0,130){\line(180,-180)} (0,10){A}(0,135){B}(140,0){C}(140,150){D}(62,80){X}} $$ To produce another image. To which you may want to ask the question: $$The \ \angle \ of \ AXB \ is \ 72\textdegree. \ What \ is \ the \ value \ of \ \angle BXD? $$ NOTE: Labeling this image, above-right, turned out to be fairly simple. Offsetting points by a few pixels at the start or end points of the lines proved a successful strategy. The X point proved a little more problematic, and took a number of adjustments before getting it right. Experience here will help. With labels the drawing can become a little more like your traditional geometric drawing, but the devil is in the details. The parallel markers need to be placed properly, and that is where experience really comes into it. On lines that are vertical or horizontal, you can get away with using the > or < directly from the keyboard, or the ≫ {\displaystyle \gg } or ≪ {\displaystyle \ll } symbols. In either case, you need to position them properly. The code: $$\picture(200){(15,45){\line(170,0)} (15,30){c}(170,28){d}(15,160){\line(170,0)}(15,145){e}(180,143){f}(50,20){\line(110,175)}(58,20){a}(140,185){b}(42,32){\kappa}(53,48){\beta} (150,165){\kappa} (90,38){\gg}(80,153){\gg} }$$ Lines and Arcs Combining lines and arcs is a serious challenge actually, on a number of levels. For example, lets take an arc from the first page on circles. Fairly innocuous of itself, but when we start to add in elements, it changes dramatically. $$ \circle(120;90,180) $$ $$\picture(150){(75,75){\circle(120;90,180)}(75,75){\line(-70,0)}(75,75){\line(0,75)}} $$ All elements in this drawing start in the same place. Each is layered, and properly placed on the canvas, and using the same co-ord to start makes it easy to control them. No matter the size of the arc, intersecting lines can all be drawn using the centre co-ords of the arc. Triangles Of all the drawing objects, it is actually triangles that present the most challenge. For example: $$\picture(350){(10,10){\line(0,320)}(10,330){\line(330,0)}(10,10){\line(330,320)}}$$ This is a simple triangle, one that allows us to establish a simple set of rules for the sides. The vertical always has an x=0 co-ord and the horizontal always has a y=0 co-ord. In this case with an x value of 330 on the horizontal, and a y value of 320 on the vertical, the hypotenuse should then have a value of x=340, and the y=330, but not so, they actually have an x=330 and a y=320. There is no need to add the starting point co-ords to the x and y values of the line. $$picture(350){(10,10){\line(330,0)}(340,10){\line(0,320)}(340,330){\line(-330,-320)}}$$ This triangle has been developed for a Trigonometry page - but the additional notation should provide insight into how you can use it. This is a labeled image, but it has an \fbox in it with its little line. With some effort, it could be replaced with two intersecting short lines. $$\picture(350,150){(25,25){\line(300,0)}(325,25){\line(0,110)}(25,25){\line(300,110)}(309,25){\fbox{\line(5,5)}} (307,98){\theta}(135,75){\beta}(150,5){\alpha}(335,75){\epsilon}}$$ The triangle shows like: We use the different elements of the triangle to identify those things we need to know about a right-angled triangle. The hypotenuse is always the side that is opposite the right angle. The longest side is always the Hypotenuse. To identify the other elements of the triangle we look for the sign θ {\displaystyle \theta } . Θ {\displaystyle \Theta } is the starting point for naming the other sides. The side that is opposite ∠ θ {\displaystyle \angle \theta } is known as the Opposite. The side that lies alongside ∠ θ {\displaystyle \angle \theta } is known as the Adjacent side. To determine which is which, draw a line that bisects ∠ θ {\displaystyle \angle \theta } and whatever line it crosses is the Opposite side. The code: $$ \picture(350,250){(25,25){\line(300,0)}(25,25){\line(0,220)}(25,245){\line(300,-220)}(310,25){\circle(100;135,180)}(20,100){\line(310,-75)} (25,25){\fbox{\line(5,5)}}(25,25){\line(150,150)}(165,140){Hypotenuse}(120,2){Adjacent}(2,80){\rotatebox{90}{Opposite}}(270,40){\theta}}$$ Matrices A Matrix is a rectangular array of numbers arranged in rows and columns which can be used to organize numeric information. Matrices can be used to predict trends and outcomes in real situations - i.e. polling. A Matrix A matrix can be written and displayed like In this case the matrix is constructed using the brackets before creating the array: $$ M = \left[\begin{array}{ccc} a&b&1 \\ c&d&2 \\ e&f&3\end{array}\right] $$ The internal structure of the array is generated by the &, ampersand, and the double backslash. You can also create a grid for the matrix. A dashed line A solid line A mixed line $$ M = \left[\begin{array}{c.c.c} a&b&1 \ \hdash c&d&2 \ \hdash e&f&3\end{array}\right] $$ c|c} a&b&1 \ \hline c&d&2 \ \hline e&f&3\end{array}\right] $$ c} a&b&1 \ \hline c&d&2 \ \hdash e&f&3\end{array}\right] $$ The command sequences here are the {c|c.c} and \hdash and \hline. The pipe, |, and the full stop determine the line type for the vertical line. Matrices also respond to other TeX Notation commands such as size and colour. Colour Size $$ \blue M = \left[\begin{array}{c.c.c} a&b&1 \ \hdash c&d&2 \ \hdash e&f&3\end{array}\right] $$ $$ \fs7 M = \left[\begin{array}{c.c.c} a&b&1 \ \hdash c&d&2 \ \hdash e&f&3\end{array}\right] $$ $$ \fs2 M = \left[\begin{array}{c.c.c} a&b&1 \ \hdash c&d&2 \ \hdash e&f&3\end{array}\right] $$ Creating equal and unequal matrices Equal and unequal matrices are simply matrices that either share or not share the same number of rows and columns. To be more precise, equal matrices share the same order and each element in the corresponding positions are equal. Anything else is unequal matrices. Actually equal and unequal matrices are constructed along similar lines, but have different shapes: Equal Matrix An unequal matrix $$ \left[\begin{array} a&b&1 \ c&d&2 \ e&f&3\end{array}\right] \ = \ \left[\begin{array} 12&11&z \ 10&9&y \ 8&7&x\end{array}\right] $$ $$ \left[\begin{array} a&b \ c&d \ e&f \end{array}\right] \ \neq \ \left[\begin{array} 12&11&z \ 10&9&y \ 8&7&x\end{array}\right] $$ Labeling a Matrix Addition and subtraction matrices are similar again, but the presentation is usually very different. The problem comes when trying to mix labels into arrays. The lack of sophistication in the TeX Notation plays against it here. Moodle allows an easy adoption of tables to make it work though. For example: Bill the baker supplies three shops, A, B and C with pies, pasties and sausage rolls. He is expected to determine the stock levels of those three shops in his estimation of supplies. It is better to use the Moodle Fullscreen editor for this, to have a better idea of how the end product will look and to take advantage of the additional tools available. Design decisions need occupy our attention for a while. We need a table of five rows and four columns. The first row is a header row, so the label is centred. The next row needs four columns, a blank cell to start and labels A, B and C. The next three rows are divided into two columns, with the labels, pies, pasties and sausage rolls in each row of the first column and the matrix resides in a merged set of columns there. So first the table: Insert Table - initial properties Merge Cells Button Advanced Properties You may need to look into the Advanced properties setting of the tables and cells to make this work. This is the immediate result: While not a very good look, it can be made better by tweaking the table using the advanced settings and properties buttons and then you can tweak the matrix itself. Tweaking the Matrix Things are not always as they seem, be aware, the "c" does not stand for "column", it actually stands for "centre". The columns are aligned by the letters l, for left, c for centre and r for right. Each column is spread across 50 pixels, so the value of 50 is entered into the alignment declaration. The plus sign before the value is used to "propogate" or to force the value across the whole matrix, but is not used when wanting to separate only one column. To set the rows is a little more problematic. The capital letter C sets the vertical alignment to the centre, (B is for baseline, but that does not guarantee that the numbers will appear on the base line, and there does not appear to be any third value). The plus sign and following value sets the height of all rows to the number given. In this I have given it a value of 25 pixels for the entire matrix. If there were four or five rows, the same height requirement is made. The order things appear is also important. If you change the order of these settings, they will either not work at all, or will not render as you expect them to. If something does not work properly, then check to make sure you have the right order first. An Addition Matrix The rule for performing operations on matrices is that they must be equal matrices. For example, addition matrices look like: with the results obvious. The code is: $$\left[\begin{array}{c+50C+25.c.c} 11&14&12 \ \hdash16&12&22 \ \hdash 14&17&15 \end{array}\right] + \left[\begin{array}{c+50C+25.c.c} 60&60&60 \ \hdash 40&40&30 \ \hdash 30&30&30 \end{array}\right] $$ A Subtraction Matrix Similar to an addition matrix in its construction, the subtraction matrix is subject to the same rules of equality. Using the same essential data, we can calculate the daily sales of each of the shops. The code is: $$ \left[\begin{array}{c+50C+25.c.c} 72&95&68 \ \hdash 54&61&65 \ \hdash 48&51&60 \end{array}\right] - \left[\begin{array}{c+50C+25.c.c} 11&14&12 \ \hdash 16&12&22 \ \hdash 14&17&15 \end{array}\right] = \left[\begin{array}{c+50C+25.c.c} 61&81&56 \ \hdash 38&49&43 \ \hdash 34&34&48 \end{array}\right] $$ This code looks more complex than it really is, it is cluttered by the lines and alignment sequences. Multiplication Matrices Different than the addition or subtraction matrices, the multiplication matrix comes in three parts, the row matrix, the column matrix and the answer matrix. This implies it has a different construction methodology. And the code for this is: $$ \begin{array} 10&14&16\end{array} \ \left[\begin{array} 45 \\ 61 \\ 19 \end{array}\right] \ = \ \begin{array} 450&854&304\end{array} $$ While different, it is not necessarily more complex. For example, a problem like: Bill the baker is selling his product to Con the cafe owner, who wants to make sure his overall prices are profitable for himself. Con needs to make sure that his average price is providing sufficient profit to be able to keep the cafes open. Con makes his calculations on a weekly basis, comparing cost to sale prices. With the pies, pasties and sausage rolls in that order he applies them to the cost and sale price columns : The code for this is: $$\left[\begin{array} 350&310&270 \end{array}\right] \ \left[\begin{array} \$2.10&\$3.60 \ \$2.05&\$3.60 \ \$1.90&\$3.10 \end{array} \right] \ = \ \left[\begin{array} \$735.00&\$1260.00 \ \$635.50&\$1116.00 \ \$513.00&$\837.00 \end{array}\right] $$ How to wrap long MathJax equations As described by Christopher Sangwin: See this documentation. Add CommonHTML: { linebreaks: { automatic: true } }, "HTML-CSS": { linebreaks: { automatic: true } }, SVG: { linebreaks: { automatic: true } } to "filter_mathjaxloader | mathjaxconfig" in the filter settings: Dashboard > Site administration > Plugins > Filters > MathJax Seems to do the trick. See also Mathematics tools FAQ MathJax filter - available in Moodle 2.7 and later TeX notation filter To turn on the TeX Notation DragMath equation editor Chemistry notation using mhchem Source: docs.moodle.org/503/en/Using TeX notation — MoodleDocs (GPL) · Imported 2026-11-10. Video Video is a very powerful tool to use in a Moodle course. Teachers and students can use video actively, by recording short messages directly into the editor. Teachers can also display video so students, for example, catch up on lectures they missed, learn from a "how-to" screencast, or improve their language skills by watching native speakers interact. 1 Recording short video messages 2 Recording your screen 3 Where to host the videos 4 Ways of displaying video 4.1 Linking to a video online elsewhere 4.2 Uploading a video 4.3 Embedding a video in its own player 4.3.1 Using the multimedia icon 4.3.2 Using a hyperlink 5 See also Recording short video messages Moodle's Text editor allows teachers and students to record short video messages by clicking the relevant icon.( If you don't see this setting, ask your administrator to check the RecordRTC settings.) Example uses are: Introductions in Forum posts Spoken assignments instead of typed Courses where teachers and students interact by signing instead of speaking or typing. Recording your screen If enabled by the admin from Site administration > Plugins > TinyMCE > RecordRTC the record video icon will include an option 'Record screen, allowing those with the relevant capability to create a short screencast. Where to host the videos If you upload your videos to your Moodle site, storing them on your own server, then you retain ultimate control. If you are worried about multiple copies of the same video taking up lots of space, then that is not a problem; the Moodle file system is clever enough to only store a single copy of a file, no matter how many times you upload it to your server. When server space or upload limits are restricted, or if you are seeking some video player features not available within Moodle, it is convenient to upload videos to an online site like api.video, YouTube or Vimeo. They can easily be embedded inside Moodle from such sites and privacy can still be maintained if you choose their private video sharing option. If you do choose to upload videos into your Moodle site, realize that the size of your Moodle backups will grow. For example, a 1GB video will increase your Moodle backup by approximately 1GB. By using an external video platform for videos and linking to them within Moodle, you avoid this "backup size" problem. Ways of displaying video Linking to a video online elsewhere If your video is hosted elsewhere online (such as YouTube, Vimeo or api.video) you can simply link to the relevant page by choosing URL from 'Add an activity or resource' and pasting in the relevant link. Note that, in an establishment where certain video sharing sites might be banned, your students might not be able to access your video through Moodle. Uploading a video If your browser allows resources to be dragged and dropped, then you can turn on the editing and drag the video directly onto the course page. A box will then appear for you to decide whether you want the video embedded in a label, or added as a clickable file resource. Alternatively, you can upload the video by turning the editing on and choosing Add an activity or resource > File Embedding a video in its own player Moodle uses VideoJS player as its default player as it is responsive and displays video well across devices and browsers. With the Multimedia plugins filter enabled, videos may be embedded as follows: Using the multimedia icon With your editing turned on, click into the editor text box where you wish to embed your video. Click the Multimedia icon. If your video is online, paste its URL into the box. If your video is one you want to upload, drag and drop the file or click to select it. Click the Browse repositories button to locate and upload your video from the repository where it is stored. (What you see depends on what the admin has enabled.) If you have it in more than one file type (such as .mov and .mp4) then you can upload an alternative video by clicking 'Add alternative source'. Display options allows you to specify a height and width for the video Advanced settings allows you to decide how the video will play Subtitles and captions allows you to add subtitle files (VTT) in different languages and/or caption files, with descriptions, chapters, and metadata. Subtitles, captions, chapters, and descriptions can be added to videos and audios using the WebVTT file format. These files can be created using caption making software or just a plain text editor. If the video is on YouTube, subtitles can be generated automatically then corrected. Software such as Camtasia enables subtitles to be easily added. NOTE: The files must be uploaded to Moodle; they will not display if they are linked from elsewhere. Click the Insert media button when you are ready. Your video will appear as a blue link until you save the changes. Using a hyperlink (Note: this method has no advantage over using the media icon.) With your editing turned on, click into the editor where you wish to embed your video. Type some blank spaces (or some text) and select them. Click the hyperlink icon. (The icon will only be clickable if you have selected text or spaces.) Click 'Browse repositories' This takes you to the file picker. Follow the instructions for uploading/selecting your video as for using the Moodle media icon. When your video is chosen, it will appear in the link URL box. Click Insert: Don't panic! You will now only get a blue line (if you selected blank spaces) or the actual text underlined in the Atto editor: When you click save changes to return to the main course page, your video will display. See also Media FAQ Multimedia plugins filter Jitsi - This module allows creating jitsi-meet videoconference sessions Big Blue Button - Integrate BigBlueButton within Moodle - including record and playback of sessions Deft response block - Allows teacher streaming video to learners as pat of other activities Forum discussions: Best video format download h5p interactive video in moodle Workshop Module enhances American Sign Language classroom with Video Recordings Source: docs.moodle.org/503/en/Video — MoodleDocs (GPL) · Imported 2026-11-10. Video FAQ 1 What are the privacy options when using YouTube or Vimeo? 2 Should I put my video into a Text and media area or a page? 3 How can I get rid of the variable audio speed control? 4 My embedded youTube video doesn't display different language subtitles/playlists 5 My embedded video is too big/small. How can I change its display size? 5.1 If you're using Moodle's Multimedia plugins filter 5.2 If you're using embed code 6 Why won't my swf/FLV video play? 7 How can I convert my video file to another format? 8 I have a .wma/wav file. How can I play it in Moodle's player? 9 Videos don't embed even though the filters are enabled 10 How can I disable player embedding for one particular link? 11 Why won't my video play? 12 Can I know if my students watched my (whole) videos? What are the privacy options when using YouTube or Vimeo? From Site administration > Plugins > Media players, the YouTube and Vimeo pages have checkboxes to prevent tracking of any session data, including all cookies and analytics. For YouTube the setting is: Use no cookie domain. For Vimeo the setting is: Enable do not track Vimeo links. Should I put my video into a Text and media area or a page? While the embedding process is the same, adding a video to a Text and media area will mean it displays as soon as the user clicks on that course page. This can be beneficial if the video is, for example, an introduction to the course or an integral part of the whole course. However, if there are several videos in Text and media areas, they can slow the loading of the course down, especially if the videos are coming from an external site. Adding a video to a page in Moodle means that the user has to click a text link to reach the video, but it doesn't clutter up the main course page and it is a better choice if the course contains a large number of videos. How can I get rid of the variable audio speed control? If you don't want your learners to be able to change the speed of an audio file, use the CSS suggested in the forum post: Moodle 4 Variable audio speed control My embedded youTube video doesn't display different language subtitles/playlists This is an issue with the VideoJS player currently. A workaround is to disable the setting 'YouTube videos' in the VideoJS player settings of Site administration (ensuring the YouTube filter is enabled in Manage media players) Then copy and paste the YouTube URL directly into your editor. My embedded video is too big/small. How can I change its display size? Changing the size of an embedded video depends on whether you're using Moodle's Multimedia plugins filter or if you're either embedding a video from another source using something like an iframe (for example, embedding a video from YouTube using the embed code they provide). If you're using Moodle's Multimedia plugins filter Click the Media icon in the text editor. Click the Video tab and then click Display options. You will be able to change its size there. If you're using embed code Click the code/HTML source icon in your text editor Locate the Inside that iframe should be "width" and "height" variables, which you can adjust as needed. Click "update" in the HTML source editor screen, and save your changes. Your video should now be the new size. Why won't my swf/FLV video play? Swf and FLV files are no longer supported so you should try to display your videos in a different, more accessible format. How can I convert my video file to another format? There are many sites online that allow you to upload a file which will then be converted and sent to you via a link or email. However, if it is a large video file or you want to do the conversion off line, then the free Any Video Converter [1] (a downloadable program) will convert most video formats to most others. More and more full-featured MTS Video Converter [2] software free download a trial, to solve your problem more format conversions. The free and open source video player, VLC has the ability to convert to and from many video formats. For more details and downloads visit their site. I have a .wma/wav file. How can I play it in Moodle's player? There are various free programs available that will convert one type of sound file to another. If you convert your file to an mp3 then you will be able to use Moodle's built-in mp3 player. Jodix Free WMA to MP3 converter [3] is just one example Videos don't embed even though the filters are enabled You might need to change the order of your filters. See Filters and also the forum discussion I can't embed YouTube videos How can I disable player embedding for one particular link? If you want to prevent the embedded player and keep just the link to the video, add "nomediaplugin" class to the HTML anchor tag producing the link. For example: Link text Why won't my video play? If your video displays the error message "The media could not be loaded...", check if the video file name includes a space, and if so, replace it with a dash or underscore. Can I know if my students watched my (whole) videos? If you hosted your videos in YouTube, sign into your Google account, go to YouTube Studio, In the left panel of 'Your Chanel' choose 'Videos' and click on the icon for 'Analytics'. There you will find the number of viewers per day and the 'Audience retention'. Many students will quit watching a long, boring video. Short, interesting videos may have a higher rate of success amongs students nowadays. Source: docs.moodle.org/503/en/Video FAQ — MoodleDocs (GPL) · Imported 2026-11-10. VideoJS player VideoJS is the default media player in Moodle. It is demonstrated in the screencast Media players. To see how to add audio and video using the VideoJS players, see Audio and Video. VideoJS player settings, such as the supported video and audio file extensions, may be found in 'VideoJS player' in Site administration. See Media FAQ for details on how to display YouTube subtitles and/or playlists if you are using VideoJS player. Source: docs.moodle.org/503/en/VideoJS player — MoodleDocs (GPL) · Imported 2026-11-10. Voice tools Moodle has no built-in tools for speech messaging or audioconferencing. However, there are various add-ons which allow video and audio conferencing and direct recording into Moodle's text editor Big Blue Button is a popular audio/video conferencing tool available from the plugins directory. It is an open source project which supports real-time sharing of slides (including whiteboard), audio, video, chat, and desktops. It also record lectures for later playback. See Big Blue Button website for more general information. Deft response block provides a near native way to add audio conferencing to Moodle. Teachers can add buttons to the block any where blocks can be used in a course. Pressing one of the buttons allows learners to converse with each other about the Moodle activities where the block is located. A free service provides minimal networking services. User data and authentication are handled exclusively by the Moodle server where the block is installed. See deftly.us for more information. Openmeetings provides video conferencing, instant messaging, white board, collaborative document editing and other groupware tools using API functions of the Red5 Streaming Server for Remoting and Streaming. OpenMeetings is a project of the Apache. See Moodle plugin for more details. Poodll allows you to record audio into forums, pages, anywhere with a text editor. Recordings are done via the Poodll server hosted by Amazon and transferred to your Moodle site. The Poodll set of tools (filter, assignment 2.3 type, repository, question type) is available from the plugins directory. It is simple to install and doesn't require any particular PHP expertise. Poodll Read Aloud is an online testing system designed to assist teachers in evaluating their students' reading fluency as WPM(Words Correct Per Minute) scores. It features automated evaluation of students using AI and HTML5 recording via Cloud Poodll. It has no dependencies on other plugins. Source: docs.moodle.org/503/en/Voice tools — MoodleDocs (GPL) · Imported 2026-11-10. WebDAV Setup Web-based Distributed Authoring and Versioning (WebDAV) is a set of methods based on the Hypertext Transfer Protocol (HTTP) that facilitates collaboration between users in editing and managing documents and files stored on World Wide Web servers. A WebDAV repository can be enabled by a site administrator in Administration > Site administration > Plugins > Repositories > Manage repositories. 1 WebDAV configuration 1.1 Options 2 Configuring WebDAV on Microsoft Windows Server 2003 R2 (Service Pack 2), IIS V6.0 2.1 Configure Windows Server 2003 2.1.1 Install and Enable WebDAV on the Server 2.2 Configure IIS 2.2.1 Create New Virtual Directory 2.2.2 Configuring Virtual Directory Properties 2.3 Testing WebDAV on Windows XP 3 Repository permissions 4 See also WebDAV configuration After enabling the WebDAV repository, a repository instance can be created in Administration > Site administration > Plugins > Repositories > WebDAV repository. Options WebDAV type: Choose from HTTP or HTTPS connection WebDAV server: The server name WebDAV path: The path to webdav directory Authentication: We currently only support HTTP Basic Authentication WebDAV server port: The webdav server port WebDAV server user: HTTP Basic authentication username WebDAV server password: HTTP Basic authentication password For example, if you are going to add a webdav server at http://webdavserver.tld/path/to/dir, you should use following options: WebDAV type: HTTP WebDAV Server: webdavserver.tld Configuring WebDAV on Microsoft Windows Server 2003 R2 (Service Pack 2), IIS V6.0 Configure Windows Server 2003 First we need to install WebDAV on the server. Note: when you promote a basic Windows Server 2003 installation to an application server, it installs various IIS 6 components but WebDAV isn't one of them. Install and Enable WebDAV on the Server To install WebDAV on the IIS 6 machine, use Add or Remove Programs in Control Panel and run the Windows Components Wizard. You can find WebDAV under Application Server -> Internet Information Services -> World Wide Web Service -> WebDAV Publishing. Once WebDAV is installed it needs to be enabled. Check the WebDAV option under the Web Service Extensions node in IIS Manager. Configure IIS Configuring a new virtual directory in IIS is a two-step process: Create a new virtual directory using the Virtual Directory wizard Configure the access permissions on the new virtual directory Create New Virtual Directory Open IIS and right-click on your Moodle website. Select New -> Virtual Directory... from the pop-up menu. Select New -> Virtual directory... from the pop-up menu. The Create New Virtual Directory Wizard is displayed. Call the new virtual directory Moodledata. Specify the path to the Moodledata directory. Ensure the new virtual directory has Read, Write and Browse permissions. Press the Finish button to create the new virtual directory. Configuring Virtual Directory Properties Right-click on the new virtual directory and select Properties from the pop-up menu. Ensure that Read, Write, Directory browsing, and Log visits are checked. Ensure Index this resource is unchecked. Click on the Directory Security tab and press the Authentication and access control Edit... button Authenticated access configuration will depend on your needs. Basic access will require you to uncheck Enable anonymous access and check Basic authentication (password is sent in clear text). You may get a warning about security: Your new virtual directory is ready for testing. Testing WebDAV on Windows XP WebDAV needs to be enabled on any client machines that will be used to create and manage content for Moodle. Windows XP has a built-in WebDAV client service that needs to be enabled: Open the Services console under Administrative Tools and find the WebClient service. Double-click on this service to open its Properties sheet. Change the Startup Type to Automatic, then click the Start button to start the service. Note: Internet Explorer 8.0 no longer supports web folders. See this blog post from David Conner for details. Instead, you will need to map a network drive (instructions on mapping a network drive are also given in David's blog post). WebDAV path: /path/to/dir/ Repository permissions This repository is accessible by default to administrators, course creators, teachers, editing teachers and managers, but not to guests or students. This capability can be changed to control access to users with specific roles. See also MDL-22663 Source: docs.moodle.org/503/en/WebDAV Setup — MoodleDocs (GPL) · Imported 2026-11-10. WebDAV repository Web-based Distributed Authoring and Versioning (WebDAV) is a set of methods based on the Hypertext Transfer Protocol (HTTP) that facilitates collaboration between users in editing and managing documents and files stored on World Wide Web servers. A WebDAV repository can be enabled by a site administrator in Administration > Site administration > Plugins > Repositories > Manage repositories. 1 WebDAV configuration 1.1 Options 2 Configuring WebDAV on Microsoft Windows Server 2003 R2 (Service Pack 2), IIS V6.0 2.1 Configure Windows Server 2003 2.1.1 Install and Enable WebDAV on the Server 2.2 Configure IIS 2.2.1 Create New Virtual Directory 2.2.2 Configuring Virtual Directory Properties 2.3 Testing WebDAV on Windows XP 3 Repository permissions 4 See also WebDAV configuration After enabling the WebDAV repository, a repository instance can be created in Administration > Site administration > Plugins > Repositories > WebDAV repository. Options WebDAV type: Choose from HTTP or HTTPS connection WebDAV server: The server name WebDAV path: The path to webdav directory Authentication: We currently only support HTTP Basic Authentication WebDAV server port: The webdav server port WebDAV server user: HTTP Basic authentication username WebDAV server password: HTTP Basic authentication password For example, if you are going to add a webdav server at http://webdavserver.tld/path/to/dir, you should use following options: WebDAV type: HTTP WebDAV Server: webdavserver.tld Configuring WebDAV on Microsoft Windows Server 2003 R2 (Service Pack 2), IIS V6.0 Configure Windows Server 2003 First we need to install WebDAV on the server. Note: when you promote a basic Windows Server 2003 installation to an application server, it installs various IIS 6 components but WebDAV isn't one of them. Install and Enable WebDAV on the Server To install WebDAV on the IIS 6 machine, use Add or Remove Programs in Control Panel and run the Windows Components Wizard. You can find WebDAV under Application Server -> Internet Information Services -> World Wide Web Service -> WebDAV Publishing. Once WebDAV is installed it needs to be enabled. Check the WebDAV option under the Web Service Extensions node in IIS Manager. Configure IIS Configuring a new virtual directory in IIS is a two-step process: Create a new virtual directory using the Virtual Directory wizard Configure the access permissions on the new virtual directory Create New Virtual Directory Open IIS and right-click on your Moodle website. Select New -> Virtual Directory... from the pop-up menu. Select New -> Virtual directory... from the pop-up menu. The Create New Virtual Directory Wizard is displayed. Call the new virtual directory Moodledata. Specify the path to the Moodledata directory. Ensure the new virtual directory has Read, Write and Browse permissions. Press the Finish button to create the new virtual directory. Configuring Virtual Directory Properties Right-click on the new virtual directory and select Properties from the pop-up menu. Ensure that Read, Write, Directory browsing, and Log visits are checked. Ensure Index this resource is unchecked. Click on the Directory Security tab and press the Authentication and access control Edit... button Authenticated access configuration will depend on your needs. Basic access will require you to uncheck Enable anonymous access and check Basic authentication (password is sent in clear text). You may get a warning about security: Your new virtual directory is ready for testing. Testing WebDAV on Windows XP WebDAV needs to be enabled on any client machines that will be used to create and manage content for Moodle. Windows XP has a built-in WebDAV client service that needs to be enabled: Open the Services console under Administrative Tools and find the WebClient service. Double-click on this service to open its Properties sheet. Change the Startup Type to Automatic, then click the Start button to start the service. Note: Internet Explorer 8.0 no longer supports web folders. See this blog post from David Conner for details. Instead, you will need to map a network drive (instructions on mapping a network drive are also given in David's blog post). WebDAV path: /path/to/dir/ Repository permissions This repository is accessible by default to administrators, course creators, teachers, editing teachers and managers, but not to guests or students. This capability can be changed to control access to users with specific roles. See also MDL-22663 Source: docs.moodle.org/503/en/WebDAV repository — MoodleDocs (GPL) · Imported 2026-11-10. Wikimedia repository The Wikimedia repository enables a user to search Wikimedia and copy a selected file into Moodle. When a file is chosen, Moodle displays the image dimensions, license, author, last modified date (and file size if it is smaller than the maximum dimension specified). Searching the Wikimedia respository The search results Image details are displayed Repository capabilities There is just one capability, View wikimedia repository, which is allowed for the default authenticated user role. Source: docs.moodle.org/503/en/Wikimedia repository — MoodleDocs (GPL) · Imported 2026-11-10. Word censorship Note: The word censorship filter has been removed from new installations of Moodle 4.1. The code for the Word censorship filter is currently available from the Plugins directory. The word censorship filter enables certain user-selected words to be "blacked out" in the flow of any text submitted within a course. The primary use is for censoring obscene or other unwanted words entered by learners in activities like Forums and Wikis. 1 Custom list of censored Words 2 Default censored Words 3 Tips and Tricks 4 See also Custom list of censored Words The word censorship settings page Administration > Site administration > Plugins > Word censorship allows a site administrator to edit a custom list of words (bad words) to be censored within your Moodle installation. To avoid inadvertently causing offence, there is no default bad word list on the Word censorship settings page. If the custom list is empty, the default list from the language pack will be used. Default censored Words The default bad word list is contained within the filter_censor.php file within each language pack installed on your Moodle site. To change the default bad word list go to Administration > Site administration > Language > Language Customization and check out the required language pack. Select the filter_censor.php file under the filters subheading from the strings list and click Show strings. Warning: You may find the content of this file offensive. Tips and Tricks If you would prefer not to display a custom list of censored words on the Word Censorship Settings page, customize the filter_censor.php file the language directly If you have multiple language packs installed and in use within your Moodle site, remember to edit each language pack and/or add custom censored words in all languages. See also Using Moodle filtering profanity forum discussion Source: docs.moodle.org/503/en/Word censorship — MoodleDocs (GPL) · Imported 2026-11-10. Word censorship filter Note: The word censorship filter has been removed from new installations of Moodle 4.1. The code for the Word censorship filter is currently available from the Plugins directory. The word censorship filter enables certain user-selected words to be "blacked out" in the flow of any text submitted within a course. The primary use is for censoring obscene or other unwanted words entered by learners in activities like Forums and Wikis. 1 Custom list of censored Words 2 Default censored Words 3 Tips and Tricks 4 See also Custom list of censored Words The word censorship settings page Administration > Site administration > Plugins > Word censorship allows a site administrator to edit a custom list of words (bad words) to be censored within your Moodle installation. To avoid inadvertently causing offence, there is no default bad word list on the Word censorship settings page. If the custom list is empty, the default list from the language pack will be used. Default censored Words The default bad word list is contained within the filter_censor.php file within each language pack installed on your Moodle site. To change the default bad word list go to Administration > Site administration > Language > Language Customization and check out the required language pack. Select the filter_censor.php file under the filters subheading from the strings list and click Show strings. Warning: You may find the content of this file offensive. Tips and Tricks If you would prefer not to display a custom list of censored words on the Word Censorship Settings page, customize the filter_censor.php file the language directly If you have multiple language packs installed and in use within your Moodle site, remember to edit each language pack and/or add custom censored words in all languages. See also Using Moodle filtering profanity forum discussion Source: docs.moodle.org/503/en/Word censorship filter — MoodleDocs (GPL) · Imported 2026-11-10. Working with files 1 Adding files to your course 1.1 Drag and drop 1.2 Add a resource or activity 2 Unzipping uploaded files 3 Viewing uploaded files 4 Editing or updating uploaded files 5 Creating a link to a file 6 SCORM files cannot be updated where alias/shortcut are used 6.1 Areas where links cannot be made 7 Site administration settings 7.1 Adding a new file type 7.2 Restricting allowed file types 7.3 Removing a file type 7.4 Editing an existing file type 7.5 Google docs and docx 8 Alternative to MS PowerPoint and PDF files 9 See also Adding files to your course Moodle provides an easy way for a teacher to present materials to their students. These materials may take the form of files such as word-processed documents or slideshow presentations. The materials can be displayed on the page either as individual items or bundled together inside folders. One teacher might for instance wish to share a single research document in pdf format; another might have a folder of sample past examination papers for students to download. Most types of files can be uploaded and accessed through Moodle but the student needs to have the correct software to be able to open them. To add files to a Moodle course, you must first ensure you have the editing turned on. Drag and drop If you are using a modern browser, you can simply click, hold and drag and drop a file directly onto your course page. You will know if drag and drop is available to you because you will (briefly) see a message at the top of your screen: To drag and drop a folder, you must first compress/zip it using whichever program your computer has. Load video YouTube YouTube might collect personal data. Privacy Policy Dragging and dropping files Add a resource or activity Instead of drag and drop, you can click the link 'Add an activity or resource' and select either File or Folder from the activity chooser. Load video YouTube YouTube might collect personal data. Privacy Policy Uploading files The screen for uploading and displaying a file (or folder of files) includes an "add" button. Clicking on this button takes you to the File picker which is the name given to the file storage and access area within Moodle. Find out more about the places you can upload or add files from in the File picker page. There is also a block (with an arrow) into which you can drag and drop a file straight from your desktop into Moodle. Unzipping uploaded files If you upload a single zipped file, Moodle will automatically unzip it for your students to see it in Moodle. If you upload a number of files as a single zipped file, either as File, nor inside a Folder, Moodle will force the download. Viewing uploaded files Once uploaded, files appear as thumbnails in the file manager for easy recognition. Files view can be easily toggled between icons view or a table view with sizes and dates, or a hierarchical list view. File picker icon view File picker table view File picker hierarchical list view Editing or updating uploaded files Clicking on the name of an uploaded file opens up a pop up dialogue box which allows file details quickly to be altered. Creating a link to a file When an uploaded file - or a file from the Content bank, Private files, Dropbox, File system or NextCloud repositories - is re-used elsewhere on Moodle, the teacher has the option to make a copy (a new, unconnected version) or to link to it (formerly known as a shortcut or alias). If a link is created, then when the original file is updated, it will change in all instances of the link. So a teacher might add course notes to their private files for example, and then add them into a number of courses. When the teacher makes an alteration in the file in their private files, this alteration will be reflected in all instances of the course notes. A link can be recognised by its thumbnail. See the difference in the screenshot below between the original file (left) and the link (right): To update a file, go to its original location (for example Private files) and upload your new version with the same name . You will be prompted to override or rename the file. Choose "override" and this file will replace your original file and the alisas/shortcuts will remain and all be updated to your latest version. Creating a link SCORM files cannot be updated where alias/shortcut are used Note: while it is possible to create alias files for SCORM activities, it is not possible to update the source file and have changes replicated in the alias. Updating the original SCORM (.zip) file will update this location but all alias will convert to 'true copies' of the original and alias will be removed. Areas where links cannot be made A link cannot be made in the following areas of Moodle: an assignment submission a forum post attachment a workshop submission a quiz essay a database activity file field This is to prevent cases such as a student uploading an item for assessment and then subsequently changing the original in their private files. When a student uses a file from their private files in one of these instances, they do not see the options to "copy" or "link". Below is an example of a file added to an assignment: Assignment submission with no option to create an alias Site administration settings An administrator can add new file types and view, edit and delete existing file types from Site administration > Server > File types. This means that, for example, if teachers and students on your site use a lot of files specific to a particular program, such files can now be recognised by Moodle, and, when downloaded, they will open in the correct program, rather than presenting themselves as a generic zip file. Some examples from the list Adding a new file type 1. Scroll down to the bottom of the page and click the "Add" button 2. Add the details of your file type, using the example below as a guide. This example will add the .mobi extension (for a Kindle ebook) with the standard document icon. Adding a new filetype NOTE: The mimetype is set for a file when it is added/uploaded in Moodle (not when it is downloaded). If you change the mimetype associated with a file extension it will not make any difference to existing files. Only files uploaded in the future will have the new mimetype. 3. Click to save the changes and you will see your new file type has been added to the list: New type in the list Restricting allowed file types Allowed file types for Workshop submissions may be restricted It is possible to restrict file types for assignments. See Assignment settings. Removing a file type Clicking the X next to a file type will remove it from the site. You will be prompted to confirm before deletion. Editing an existing file type Clicking the edit icon next to a file type will allow you to change certain details, for example the associated icon and description. If you don't wish to use the default description, you can specify your own custom description (with multi-language tags if your site supports multi-languages) or you can use an alternative language string from mimetypes.php. Google docs and docx Importing Google docs files as docx. See https://moodle.org/mod/forum/discuss.php?d=320144 Alternative to MS PowerPoint and PDF files The Presentation additional plugin displays multimedia HTML5 presentations and slide shows in users' web browsers. A web friendly and more feature rich alternative to MS PowerPoint and PDF. However, presentations must be uploaded to moodledata via FTP and you'll need to learn some basic HTML to create presentations for it. See also How to share a single file with students: File resource. How to share a folder of files with students: Folder. Questions about the file picker: File picker FAQ. Restoring file aliases Source: docs.moodle.org/503/en/Working with files — MoodleDocs (GPL) · Imported 2026-11-10. Working with files and folders 1 Adding files to your course 1.1 Drag and drop 1.2 Add a resource or activity 2 Unzipping uploaded files 3 Viewing uploaded files 4 Editing or updating uploaded files 5 Creating a link to a file 6 SCORM files cannot be updated where alias/shortcut are used 6.1 Areas where links cannot be made 7 Site administration settings 7.1 Adding a new file type 7.2 Restricting allowed file types 7.3 Removing a file type 7.4 Editing an existing file type 7.5 Google docs and docx 8 Alternative to MS PowerPoint and PDF files 9 See also Adding files to your course Moodle provides an easy way for a teacher to present materials to their students. These materials may take the form of files such as word-processed documents or slideshow presentations. The materials can be displayed on the page either as individual items or bundled together inside folders. One teacher might for instance wish to share a single research document in pdf format; another might have a folder of sample past examination papers for students to download. Most types of files can be uploaded and accessed through Moodle but the student needs to have the correct software to be able to open them. To add files to a Moodle course, you must first ensure you have the editing turned on. Drag and drop If you are using a modern browser, you can simply click, hold and drag and drop a file directly onto your course page. You will know if drag and drop is available to you because you will (briefly) see a message at the top of your screen: To drag and drop a folder, you must first compress/zip it using whichever program your computer has. Load video YouTube YouTube might collect personal data. Privacy Policy Dragging and dropping files Add a resource or activity Instead of drag and drop, you can click the link 'Add an activity or resource' and select either File or Folder from the activity chooser. Load video YouTube YouTube might collect personal data. Privacy Policy Uploading files The screen for uploading and displaying a file (or folder of files) includes an "add" button. Clicking on this button takes you to the File picker which is the name given to the file storage and access area within Moodle. Find out more about the places you can upload or add files from in the File picker page. There is also a block (with an arrow) into which you can drag and drop a file straight from your desktop into Moodle. Unzipping uploaded files If you upload a single zipped file, Moodle will automatically unzip it for your students to see it in Moodle. If you upload a number of files as a single zipped file, either as File, nor inside a Folder, Moodle will force the download. Viewing uploaded files Once uploaded, files appear as thumbnails in the file manager for easy recognition. Files view can be easily toggled between icons view or a table view with sizes and dates, or a hierarchical list view. File picker icon view File picker table view File picker hierarchical list view Editing or updating uploaded files Clicking on the name of an uploaded file opens up a pop up dialogue box which allows file details quickly to be altered. Creating a link to a file When an uploaded file - or a file from the Content bank, Private files, Dropbox, File system or NextCloud repositories - is re-used elsewhere on Moodle, the teacher has the option to make a copy (a new, unconnected version) or to link to it (formerly known as a shortcut or alias). If a link is created, then when the original file is updated, it will change in all instances of the link. So a teacher might add course notes to their private files for example, and then add them into a number of courses. When the teacher makes an alteration in the file in their private files, this alteration will be reflected in all instances of the course notes. A link can be recognised by its thumbnail. See the difference in the screenshot below between the original file (left) and the link (right): To update a file, go to its original location (for example Private files) and upload your new version with the same name . You will be prompted to override or rename the file. Choose "override" and this file will replace your original file and the alisas/shortcuts will remain and all be updated to your latest version. Creating a link SCORM files cannot be updated where alias/shortcut are used Note: while it is possible to create alias files for SCORM activities, it is not possible to update the source file and have changes replicated in the alias. Updating the original SCORM (.zip) file will update this location but all alias will convert to 'true copies' of the original and alias will be removed. Areas where links cannot be made A link cannot be made in the following areas of Moodle: an assignment submission a forum post attachment a workshop submission a quiz essay a database activity file field This is to prevent cases such as a student uploading an item for assessment and then subsequently changing the original in their private files. When a student uses a file from their private files in one of these instances, they do not see the options to "copy" or "link". Below is an example of a file added to an assignment: Assignment submission with no option to create an alias Site administration settings An administrator can add new file types and view, edit and delete existing file types from Site administration > Server > File types. This means that, for example, if teachers and students on your site use a lot of files specific to a particular program, such files can now be recognised by Moodle, and, when downloaded, they will open in the correct program, rather than presenting themselves as a generic zip file. Some examples from the list Adding a new file type 1. Scroll down to the bottom of the page and click the "Add" button 2. Add the details of your file type, using the example below as a guide. This example will add the .mobi extension (for a Kindle ebook) with the standard document icon. Adding a new filetype NOTE: The mimetype is set for a file when it is added/uploaded in Moodle (not when it is downloaded). If you change the mimetype associated with a file extension it will not make any difference to existing files. Only files uploaded in the future will have the new mimetype. 3. Click to save the changes and you will see your new file type has been added to the list: New type in the list Restricting allowed file types Allowed file types for Workshop submissions may be restricted It is possible to restrict file types for assignments. See Assignment settings. Removing a file type Clicking the X next to a file type will remove it from the site. You will be prompted to confirm before deletion. Editing an existing file type Clicking the edit icon next to a file type will allow you to change certain details, for example the associated icon and description. If you don't wish to use the default description, you can specify your own custom description (with multi-language tags if your site supports multi-languages) or you can use an alternative language string from mimetypes.php. Google docs and docx Importing Google docs files as docx. See https://moodle.org/mod/forum/discuss.php?d=320144 Alternative to MS PowerPoint and PDF files The Presentation additional plugin displays multimedia HTML5 presentations and slide shows in users' web browsers. A web friendly and more feature rich alternative to MS PowerPoint and PDF. However, presentations must be uploaded to moodledata via FTP and you'll need to learn some basic HTML to create presentations for it. See also How to share a single file with students: File resource. How to share a folder of files with students: Folder. Questions about the file picker: File picker FAQ. Restoring file aliases Source: docs.moodle.org/503/en/Working with files and folders — MoodleDocs (GPL) · Imported 2026-11-10. Working with media Moodle includes a wide variety of ways in which both teachers and students can add media. A teacher, for example, might include a video or sound file in a Lesson or Quiz which could then form the basis of a set of questions. Video Audio Images Media embedding A student could add an image to a forum discussion, glossary or database. It is also possible (with certain restrictions) to embed code from sites such as Google Maps or Voki. Site administration settings For sound and video to be displayed in their own players, the administrator needs to enable the Multimedia plugins filter. There are several repositories housing media, such as Youtube or Flickr which may also be enabled by the administrator so that users can select from these locations. See also Multimedia plugins filter Source: docs.moodle.org/503/en/Working with media — MoodleDocs (GPL) · Imported 2026-11-10. YouTube videos repository 1 The YouTube repository 2 Enabling the YouTube repository 3 Searching for and embedding a video from YouTube 4 Repository capabilities 5 FAQ 5.1 The YouTube repository is enabled but I still can't see the YouTube option in the file picker The YouTube repository The YouTube repository allows users easily to embed videos from YouTube. It is disabled by default on new installs because it requires an API key. Enabling the YouTube repository Click the Manage repositories link from Site administration. Select from the drop down next to YouTube "Enabled and visible". Click on "Settings" If desired, give the repository a name. You don't have to; it is OK to leave it blank. Click the Google API link which will take you to https://developers.google.com/youtube/v3/getting-started (Note that you will need a Google account to proceed.) When you have created an account or signed in with an existing account, click https://console.developers.google.com Click the plus sign 'Enable API' at the top of the page: Click 'YouTube data API' Click the Enable link (if not already enabled): Click Credentials in the column on the left and then click the arrow by the blue Credentials link and choose API You will be given an API code which you can copy: Paste this into the API key box in your Moodle site (Repositories>Youtube) and save. The same API key may be used to configure the Youtube block. Searching for and embedding a video from YouTube YouTube videos can be searched for and embedded anywhere there is the text editor, for example a label or a page. Before this works, you must enable the multimedia filters under Administration > Site administration/Plugins/Filters/Manage Filters. Set Multimedia Plugins to "On" and make sure YouTube is selected under Settings (it should be by default). Within a course you must ensure in Course administration > Filters that multimedia are ON. Click the filmstrip, "Moodle media icon" in the editor: Click "Browse repositories" The file picker will appear with YouTube videos as an option. Click it and a search box will appear. You can search by relevance, date, rating or view count. Click the "Search" button when you are ready. Your search results will appear as video thumbnails. Searching YouTube videos The search results Click on the one you want to select it.* Rename if desired; add the author and license if needed and click "Insert media" DO NOT WORRY IF YOUR VIDEO NO LONGER SHOWS! You will just get a blue text link at first: Save it and then it will display.If it still displays as a text link after saving, make sure you have enabled the Multimedia filter as instructed at the top of this page. Repository capabilities There is just one capability, Use YouTube in file picker, which is allowed for the default authenticated user role. FAQ The YouTube repository is enabled but I still can't see the YouTube option in the file picker Are you sure you are working with the text editor? The YouTube option allows you to search for and embed YouTube videos into the editor in places such as labels or pages. You won't see it simply by clicking the "add" button when uploading a file, for example. Source: docs.moodle.org/503/en/YouTube videos repository — MoodleDocs (GPL) · Imported 2026-11-10. Youtube videos 1 The YouTube repository 2 Enabling the YouTube repository 3 Searching for and embedding a video from YouTube 4 Repository capabilities 5 FAQ 5.1 The YouTube repository is enabled but I still can't see the YouTube option in the file picker The YouTube repository The YouTube repository allows users easily to embed videos from YouTube. It is disabled by default on new installs because it requires an API key. Enabling the YouTube repository Click the Manage repositories link from Site administration. Select from the drop down next to YouTube "Enabled and visible". Click on "Settings" If desired, give the repository a name. You don't have to; it is OK to leave it blank. Click the Google API link which will take you to https://developers.google.com/youtube/v3/getting-started (Note that you will need a Google account to proceed.) When you have created an account or signed in with an existing account, click https://console.developers.google.com Click the plus sign 'Enable API' at the top of the page: Click 'YouTube data API' Click the Enable link (if not already enabled): Click Credentials in the column on the left and then click the arrow by the blue Credentials link and choose API You will be given an API code which you can copy: Paste this into the API key box in your Moodle site (Repositories>Youtube) and save. The same API key may be used to configure the Youtube block. Searching for and embedding a video from YouTube YouTube videos can be searched for and embedded anywhere there is the text editor, for example a label or a page. Before this works, you must enable the multimedia filters under Administration > Site administration/Plugins/Filters/Manage Filters. Set Multimedia Plugins to "On" and make sure YouTube is selected under Settings (it should be by default). Within a course you must ensure in Course administration > Filters that multimedia are ON. Click the filmstrip, "Moodle media icon" in the editor: Click "Browse repositories" The file picker will appear with YouTube videos as an option. Click it and a search box will appear. You can search by relevance, date, rating or view count. Click the "Search" button when you are ready. Your search results will appear as video thumbnails. Searching YouTube videos The search results Click on the one you want to select it.* Rename if desired; add the author and license if needed and click "Insert media" DO NOT WORRY IF YOUR VIDEO NO LONGER SHOWS! You will just get a blue text link at first: Save it and then it will display.If it still displays as a text link after saving, make sure you have enabled the Multimedia filter as instructed at the top of this page. Repository capabilities There is just one capability, Use YouTube in file picker, which is allowed for the default authenticated user role. FAQ The YouTube repository is enabled but I still can't see the YouTube option in the file picker Are you sure you are working with the text editor? The YouTube option allows you to search for and embed YouTube videos into the editor in places such as labels or pages. You won't see it simply by clicking the "add" button when uploading a file, for example. Source: docs.moodle.org/503/en/Youtube videos — MoodleDocs (GPL) · Imported 2026-11-10. Youtube videos repository 1 The YouTube repository 2 Enabling the YouTube repository 3 Searching for and embedding a video from YouTube 4 Repository capabilities 5 FAQ 5.1 The YouTube repository is enabled but I still can't see the YouTube option in the file picker The YouTube repository The YouTube repository allows users easily to embed videos from YouTube. It is disabled by default on new installs because it requires an API key. Enabling the YouTube repository Click the Manage repositories link from Site administration. Select from the drop down next to YouTube "Enabled and visible". Click on "Settings" If desired, give the repository a name. You don't have to; it is OK to leave it blank. Click the Google API link which will take you to https://developers.google.com/youtube/v3/getting-started (Note that you will need a Google account to proceed.) When you have created an account or signed in with an existing account, click https://console.developers.google.com Click the plus sign 'Enable API' at the top of the page: Click 'YouTube data API' Click the Enable link (if not already enabled): Click Credentials in the column on the left and then click the arrow by the blue Credentials link and choose API You will be given an API code which you can copy: Paste this into the API key box in your Moodle site (Repositories>Youtube) and save. The same API key may be used to configure the Youtube block. Searching for and embedding a video from YouTube YouTube videos can be searched for and embedded anywhere there is the text editor, for example a label or a page. Before this works, you must enable the multimedia filters under Administration > Site administration/Plugins/Filters/Manage Filters. Set Multimedia Plugins to "On" and make sure YouTube is selected under Settings (it should be by default). Within a course you must ensure in Course administration > Filters that multimedia are ON. Click the filmstrip, "Moodle media icon" in the editor: Click "Browse repositories" The file picker will appear with YouTube videos as an option. Click it and a search box will appear. You can search by relevance, date, rating or view count. Click the "Search" button when you are ready. Your search results will appear as video thumbnails. Searching YouTube videos The search results Click on the one you want to select it.* Rename if desired; add the author and license if needed and click "Insert media" DO NOT WORRY IF YOUR VIDEO NO LONGER SHOWS! You will just get a blue text link at first: Save it and then it will display.If it still displays as a text link after saving, make sure you have enabled the Multimedia filter as instructed at the top of this page. Repository capabilities There is just one capability, Use YouTube in file picker, which is allowed for the default authenticated user role. FAQ The YouTube repository is enabled but I still can't see the YouTube option in the file picker Are you sure you are working with the text editor? The YouTube option allows you to search for and embed YouTube videos into the editor in places such as labels or pages. You won't see it simply by clicking the "add" button when uploading a file, for example. Source: docs.moodle.org/503/en/Youtube videos repository — MoodleDocs (GPL) · Imported 2026-11-10. admin/contentbank/customfield 1 What is the content bank? 2 Where is the content bank? 3 How does the content bank work? 4 H5P options 5 Content bank custom fields 6 Searching the content bank 7 Viewing unlisted content in the content bank 8 Restoring a course with a content bank 9 Admin settings 10 Capabilities 10.1 Repository: Content bank 10.2 Course 10.3 H5P What is the content bank? The content bank is an area in Moodle where content (currently H5P content) may be stored, edited and created. The content bank repository gives access to these files from the file picker. Content bank Where is the content bank? As a teacher, when you are in a course you'll find a link to the content bank from Course navigation > More (Boost-based themes) or under Site pages (Classic-based themes). Files may be viewed in list view by clicking the icon top right of the content bank. The content bank repository is available from the file picker to locate and add H5P files into courses. How does the content bank work? New H5P content may be created via the Add button. It can be edited by clicking into the content then clicking Edit: Editing existing H5P H5P activities can also be uploaded into the content bank then edited if required. H5P activity types available in the content back are automatically downloaded via CRON or can manually be added by uploading h5p activity files (*.h5p). H5P options Click into an H5P activity and from the More dropdown, access the option you want: Click on More and select Copy content to make a copy of an activity which you can then edit. Content bank custom fields If your admin has created a content bank custom field from Site administration > Plugins > Content bank > Content bank custom fields, this will be available when creating or editing an H5P file. Searching the content bank The search field above the content bank allows you to search for H5P content in the course you are in. When adding an H5P activity from Add an activity or resource > H5P, you can search the content bank for H5P in other courses and categories, depending on permissions. Searching the content bank Viewing unlisted content in the content bank Teachers can make their own content listed or unlisted from the dropdown and can view their own unlisted content. Only those with the capability View unlisted content from the content bank repository can view all unlisted content both in the content bank and file picker. Those with the capability View unlisted content from the content bank repository can check/uncheck a box to hide or show unlisted content. Restoring a course with a content bank When restoring a course, the content bank contents are also restored to the new course. Please keep in mind that the user who restores the course will be the owner of the content bank contents in the new course, and this will affect who can edit or delete the contents based on the Delete any content from the content bank and Manage any content from the content bank capabilities. Admin settings From Site administration > Plugins > Content bank > Manage content types, you can enable and disable H5P content. From Site administration > Plugins > Content bank > Content bank custom fields you can create custom fields for teachers to use when creating and editing an H5P file. From Site administration > Repositories > Content bank you can rename the content bank repository if desired. Capabilities Repository: Content bank Access course category content bank files - allowed for the default roles of manager and course creator Access system content bank files - allowed for the default role of authenticated user Access course content bank files - allowed for the default roles of manager, course creator and teacher View content bank repository - allowed for the default roles of manager, course creator and teacher View unlisted content from the content bank repository - allowed for the default roles of manager and course creator. Course Access the content bank - allowed for the default roles of manager, course creator and teacher Delete any content from the content bank - allowed for the default roles of manager and course creator Delete content from own content bank - allowed for the default role of authenticated user Manage any content from the content bank - allowed for the default roles of manager and course creator Manage content from own content bank - allowed for the default roles of manager, course creator and teacher Upload new content to the content bank - allowed for the default roles of manager, course creator and teacher Create or edit content using a content type editor - allowed for the default roles of manager and course creator Download content from the content bank - allowed for the default roles of manager, course creator and teacher. H5P Access H5P content in the content bank - allowed for the default roles of manager, course creator and teacher Upload new H5P content - allowed for the default roles of manager, course creator and teacher Create or edit content using the H5P editor - allowed for the default roles of manager, course creator and teacher Source: docs.moodle.org/503/en/admin/contentbank/customfield — MoodleDocs (GPL) · Imported 2026-11-10. admin/environment/custom check/unoconv version not supported Note: Unoconv is deprecated. There is rewrite of Unoconv called "Unoserver" but Moodle does not currently support it. See MDL-75066 1 What is unoconv? 2 Installing unoconv on Linux 2.1 Ubuntu 18.04 LTS 2.2 Ubuntu 22.04 LTS 2.3 Ubuntu 16.04 LTS 2.4 Ubuntu 14.04 LTS 2.5 CentOS / RedHat 3 Installing unoconv on OS X 4 Installing unoconv on Windows 5 Run a unoconv listener 6 Offload processing to a different server 7 Additional resources 8 See also What is unoconv? "unoconv" is a command line program that is used to convert between different office document file formats. It uses an instance of LibreOffice to do the conversion and is used by the Assignment activity to convert documents to pdf so that they can be annotated. If unoconv is not installed - the only impact is that the assignment activities will only allow annotations when students upload a pdf document. The steps required to install unoconv are different depending on the operating system that you have installed Moodle on. Installing unoconv on Linux The required version of unoconv is at least 0.7. Depending on your flavour of linux, this may be available in your package manager and you can install it directly with: Ubuntu 18.04 LTS apt-get install unoconv mkdir /var/www/.config chown www-data:www-data /var/www/.config Ubuntu 22.04 LTS You will need to install Python 3, and note that the unoconv will only support Python up to 3.11. sudo apt install python3 To download the latest version of unoconv (0.8.2): cd /opt sudo git clone https://github.com/unoconv/unoconv.git sudo nano /opt/unoconv/unoconv Change the first line of code by adding the number 3 to the Python version, as per the example below: #!/usr/bin/env python3 Permissions and run link: sudo chmod ugo+x /opt/unoconv/unoconv sudo ln -s /opt/unoconv/unoconv /usr/bin/ Now we need LibreOffice installed: sudo add-apt-repository ppa:libreoffice/ppa sudo apt install libreoffice -y Production servers should consider running unoconv in listener mode, see Installing unoconv#Run a unoconv listener or follow directions below: sudo nano /etc/systemd/system/unoconv.service And then copy and paste the following configuration into it: [Unit] Description=Unoconv listener for document conversions Documentation=https://github.com/dagwieers/unoconv After=network.target remote-fs.target nss-lookup.target [Service] Type=simple ExecStart=/usr/bin/unoconv --listener [Install] WantedBy=multi-user.target And then enable and start the above service: sudo systemctl enable unoconv.service sudo systemctl start unoconv.service Ubuntu 16.04 LTS apt-get install unoconv If your package manager contains an older version of the package, you will have to find a newer version and install it manually (Debian Testing). Unoconv itself is just a python script, so it has few dependencies. Potential problems: On some systems the apache user home directory is set to a non existent folder. This can cause unoconv to fail. There are 2 solutions to this - one is to make a (writable) home directory for the apache user (like /home/www-data). The other is to run a unoconv listener (described below) as another user other than the apache user (someone with a valid, writable home directory). If you are still running 14.04LTS then unoconv won't work as shipped. This might not be the most efficient route but it worked by first installing unoconv (version 0.6) from the package manager as above. You will then need to grab unoconv 0.7 from Github (https://github.com/dagwieers/unoconv), then upgrade to the latest libreoffice using the PPA (https://launchpad.net/~libreoffice/+archive/ubuntu/ppa). Point moodle at the Github version of unoconv. You need to modify the Python unoconv file by changing 'python' in the first line to 'python3'. You also need to change the permissions on the directory /var/www so that the user www-data can write to it (www-data needs to write to its home directory which it cannot do by default). On Debian Stable, the cleanest method to install unoconv is using Jessie-backports. First, enable backports repo line in /etc/apt/sources.list: #### Jessie-backports #### deb http://ftp.debian.org/debian jessie-backports main Then, update and install unoconv from jessie-backports: apt-get update apt-get install -t jessie-backports unoconv The package will bring all necessary dependencies for you. Ubuntu 14.04 LTS 1) Navigate to opt directory cd /opt 2) Download unoconv sudo wget https://raw.githubusercontent.com/dagwieers/unoconv/master/unoconv 3) Modify the Python unoconv file by changing 'python' in the first line to 'python3' sudo nano /opt/unoconv e.g. #!/usr/bin/env python3 4) Make unoconv executable sudo chmod ugo+x /opt/unoconv 5) Add LibreOffice PPA to your system and install the latest version sudo add-apt-repository ppa:libreoffice/ppa sudo apt-get update sudo apt-get install libreoffice 6) Change permissions so apache can write to its home directory sudo chown www-data /var/www 7) From your browser navigate to Site administration > Server > System paths and add the path to unoconv /opt/unoconv Note: if you would like to preserve the default path add a symbolic link to /usr/bin: sudo ln -s /opt/unoconv /usr/bin/ 8) Navigate to Site administration > Plugins > Activity modules > Assignment > Feedback plugins > Annotate PDF > Test unoconv path You should see: "The unoconv path appears to be properly configured." Download the converted pdf test file. (if the PDF fails to load ensure that www-data can write to its home directory: /var/www) CentOS / RedHat Just before you start, you might like to consider installing the latest LibreOffice 6.3.2 directly from RPM packages, that are not part of the distribution you are using. As of nov-2016, CentOS and RedHat 7.2 comes with OpenOffice 4.3 . so if you are not interested in using this version and would like to install latest 6.3 independent LibreOffice 6.3, please remove any openoffice packages you might have on your OS by issuing: yum remove openoffice* libreoffice* It is recommended to chose your localized libreoffice version for better document conversions. yum install libreoffice libreoffice-pyuno git clone https://github.com/dagwieers/unoconv.git # copy cp unoconv/unoconv /usr/bin # or link unoconv to /usr/bin ln -s unoconv/unoconv /usr/bin/unoconv Note: depends on what version you are installing, openoffice or libreoffice, make sure you installed the *-pyuno package. (the headless package is already compiled into the core) Make sure it is properly configured: http://your-moodle/admin/search.php?query=unoconv Production servers should consider running unoconv in listener mode, see Installing unoconv#Run a unoconv listener or follow directions bellow vi /etc/systemd/system/unoconv.service And then copy and paste the following configuration into it: [Unit] Description=Unoconv listener for document conversions Documentation=https://github.com/dagwieers/unoconv After=network.target remote-fs.target nss-lookup.target [Service] Type=simple Environment="UNO_PATH=/usr/lib64/libreoffice/program" ExecStart=/usr/bin/unoconv --listener [Install] WantedBy=multi-user.target And then enable and start the above service systemctl enable unoconv.service systemctl start unoconv.service If your selinux is enable yous should set #setsebool -P httpd_execmem on Installing unoconv on OS X Download and install LibreOffice for Mac. Unfortunately - newer versions of LibreOffice are not currently compatible with unoconv for mac and you will have to install LibreOffice 4.2 (Direct download link - https://downloadarchive.documentfoundation.org/libreoffice/old/4.2.5.2/mac/x86_64/LibreOffice_4.2.5.2_MacOS_x86-64.dmg). Get the latest version of the unoconv python script. One way to do this is with http://brew.sh/ brew. brew install unoconv If you haven't done it already - install ghostscript. One way to install ghostscript is also with http://brew.sh/ brew brew install ghostscript Set the paths to unoconv and ghostscript in Moodle (Site administration > Server > System paths). If you used brew, they will both be installed to /usr/local/bin. LibreOffice needs write access to the current users home directory to create some temporary files. When unoconv is run as the webserver user (_www) it does not normally have this permission. There are some ways to get around this - one way is just to give the "_www" user write access to /Library/WebServer. Another solution is to convince LibreOffice that this users home directory is somewhere else. This can be done by inserting this code into the top of the unoconv python script. Code to insert: # Set home to a writable folder. os.environ['HOME'] = '/tmp/' This needs to be inserted at line 36 immediately after the line "exitcode = 0" Installing unoconv on Windows Download and install LibreOffice for Windows. Open Office will work just as well, but the documentation for unonconv is set to Libre Office. Download the latest version of the unoconv script from https://github.com/dagwieers/unoconv/releases (download the zip version). From the downloaded zip file - extract the one file unoconv-0.7\unoconv (no file extension). This is the unoconv script - none of the other files in the package are required. Rename the downloaded script to unoconv.py and copy it to a folder in either C:\Program Files or C:\Program Files (x86). Create a batch file in the same folder as unoconv.py name it something like unoconv.bat, it must be a batch file, with these contents: @"C:\Program Files\LibreOffice\program\python.exe" c:\unoconv\unoconv.py %* or: @"C:\Program Files\OpenOffice\program\python.exe" c:\unoconv\unoconv.py %* Next, you have to Set paths in Moodle. Login as admin and go to Site administration > Server > System paths Set: Path to Ghostscript (pathtogs) to C:\Program Files\gs\gsversion\bin\gswin64c.exe. Do not use gswin32.exe or gswin64.exe, these are not command line programs - use gswin32c.exe or gswin64c.exe. Set: Path to Python (pathtopython) to C:\Program Files (x86)\OpenOffice\program\python.exe or C:\Program Files (x86)\LibreOffice\program\python.exe. Identify in the path whichever program you use and include the full exe name for both Ghostscript and Python. Save the pathto statements and a green tick should appear if Moodle is communicating with the required files. Go to Site administration > Plugins > Document converters and enable Unoconv then select Settings Enter the path statement to Path to unoconv document converter: C:\Program Files (x86)\unoconv\unoconv.bat. Include the full name of the .bat file. Test ghostscript and unoconv are working correctly in the admin test pages Site administration > Plugins > Activity modules > Assignment > Feedback plugins > Annotate PDF. Run a unoconv listener Unoconv utilises a client/server process when converting documents. By default, when there is no running server process - each time unoconv runs it will start a server process, send its request and shut down the server process when the request is complete. The drawback of this mode is that if 2 requests are submitted simultaneously - this can cause the first request to shutdown the server process when the second request is still in progress - and the second conversion request fails. A more robust way to configure unoconv is to start a server process at boot time, and/or run a script to monitor it and restart it if it crashes. To start a unoconv listener at boot time - you need a start up script. Different operating systems and Linux distributions use different startup scripts - but here are some examples of startup scripts for different systems. Upstart script for Ubuntu based systems Launchd script for OS X Init script for Debian Init script for CentOS/RedHat 6.x SystemD service script for CentOS/RedHat 7.x Offload processing to a different server Processing office documents can put increased load on your webserver, which may impact on the responsiveness of your site. If you are installing unoconv on a large site you may want to consider running unoconv on a server that is not also serving web requests. How to do this: Install unoconv on each webservers and the remote server following the installation instructions above. Make sure unoconv is started at boot time on the remote server with the "--listener" argument and is monitored and restarted if it exits (see Debian init script for an example of how to do this). By default, unoconv will only listen on localhost (127.0.0.1): if you want to connect to the listener process from another server, you need to start the unoconv listener process with the "--server" argument too! An example command for starting a listener on a remote server (0.0.0.0 listens on all interfaces): unoconv --listener --server 0.0.0.0 --port 2002 Open the firewall port 2002 between the moodle webservers and the machine running unoconv. Share the moodle data root between the webservers and the machine running unoconv. This folder must be mounted at the same path on all servers. Install a wrapper for unoconv on the webservers that forwards the requests to the remote server. Example: #!/bin/bash # Wrapper script for unoconv to forward processing. # Install to /usr/bin/unoconv-remote with 755 permissions /usr/bin/unoconv --server= "$@" Configure the path to unoconv in the Moodle admin settings to point to this wrapper script. Additional resources GitHub dagwieers/unoconv has additional information on installation of unoconv and troubleshooting tips. See also Is the unoconv installation a security risk? forum discussion Source: docs.moodle.org/503/en/admin/environment/custom check/unoconv version not supported — MoodleDocs (GPL) · Imported 2026-11-10. admin/filter/manage Load video YouTube YouTube might collect personal data. Privacy Policy Managing filters at course or activity level To enable/disable filters in a course or activity: From the More menu select Filters Set each filter on or off as required Click the 'Save changes' button Managing filters at site level To enable/disable filters on the site: Go to Site administration > Plugins > Filters > Manage filters. Select 'On' (always available for all courses), 'Off but available' (teachers can choose whether to enable the filter for the course or activity) or 'Disabled' (always off for all courses) as required for each filter. Use the up/down arrow icons to arrange the filters in the order in which they should be applied. If you find that a particular filter isn't working, try moving it higher up the list. Notes: If enabled, the MathJax filter should be at the top (applied first). The MathJax and TeX notation filters may be enabled at the same time. TeX notation will normally appear first and be replaced by later MathJax. Using both together may improve the user experience when all Mathematics is in display mode. Leave all filters applying to content only unless you particularly need a filter, such as the Multi-language content filter to apply to headings too. (If you need to turn on this option, you almost certainly also want to turn on the option 'Filter navigation with system context' in Site administration > Plugins > Filters > Common filter settings to avoid performance impacts.) Certain filters have additional settings, which can be accessed via the links in the settings column. Tip: The 'Off but available' setting is useful for example if you only want emoticons for use in social forums. Filter settings in a forum Manage filters at site level Filters capabilities There is just one filters capability, Manage local filter settings, which is allowed for the default roles of manager and teacher. Source: docs.moodle.org/503/en/admin/filter/manage — MoodleDocs (GPL) · Imported 2026-11-10. admin/filters Load video YouTube YouTube might collect personal data. Privacy Policy Managing filters at course or activity level To enable/disable filters in a course or activity: From the More menu select Filters Set each filter on or off as required Click the 'Save changes' button Managing filters at site level To enable/disable filters on the site: Go to Site administration > Plugins > Filters > Manage filters. Select 'On' (always available for all courses), 'Off but available' (teachers can choose whether to enable the filter for the course or activity) or 'Disabled' (always off for all courses) as required for each filter. Use the up/down arrow icons to arrange the filters in the order in which they should be applied. If you find that a particular filter isn't working, try moving it higher up the list. Notes: If enabled, the MathJax filter should be at the top (applied first). The MathJax and TeX notation filters may be enabled at the same time. TeX notation will normally appear first and be replaced by later MathJax. Using both together may improve the user experience when all Mathematics is in display mode. Leave all filters applying to content only unless you particularly need a filter, such as the Multi-language content filter to apply to headings too. (If you need to turn on this option, you almost certainly also want to turn on the option 'Filter navigation with system context' in Site administration > Plugins > Filters > Common filter settings to avoid performance impacts.) Certain filters have additional settings, which can be accessed via the links in the settings column. Tip: The 'Off but available' setting is useful for example if you only want emoticons for use in social forums. Filter settings in a forum Manage filters at site level Filters capabilities There is just one filters capability, Manage local filter settings, which is allowed for the default roles of manager and teacher. Source: docs.moodle.org/503/en/admin/filters — MoodleDocs (GPL) · Imported 2026-11-10. admin/manageportfolio/boxnet Note: The Box portfolio has been removed from new installations of Moodle 4.1. The code for the Box portfolio is currently available from the Plugins directory. Enabling the Box portfolio In order to use the Box portfolio, your Moodle site must use HTTPS. In addition, an administrator must obtain a Box client ID and secret, as described in . The client ID and secret can then be used to configure all Box plugins. Go to Administration > Site administration > Plugins > Portfolios > Manage Portfolios Activate the Box.net portfolio by selecting 'Enabled and visible' in the dropdown menu Configure each portfolio by entering the client ID and secret Save changes Sending/"pushing" your files to Box You can export items such as assignments, chat and forum posts to enabled portfolios such as Box. Click the words "export to portfolio" and then select from the dropdown Box.net (If it is the only portfolio enabled, it will be the only choice!) On the next screen, choose your sharing options and which folder to export to: Click to confirm the export: Click "Continue". If you haven't done this before you will be prompted to log in to your account. Agree and log in. The "export complete" message will appear. Clicking "continue" will take you to Box if you wish. See also for details of consequences of the Box API change Source: docs.moodle.org/503/en/admin/manageportfolio/boxnet — MoodleDocs (GPL) · Imported 2026-11-10. admin/managerepository/boxnet Note: The Box repository has been removed from new installations of Moodle 4.x. The code for theBox repository is currently available from the Plugins directory. The Box repository enables users to copy files from Box into Moodle. In order to use the Box repository, your Moodle site must use HTTPS. In addition, an administrator must obtain a Box client ID and secret. The client ID and secret can then be used to configure all Box plugins. 1 Obtaining a Box client ID and secret 2 Enabling the Box repository 3 Enabling the Box portfolio 4 Capabilities Obtaining a Box client ID and secret Go to https://app.box.com and create an account or log in Go to https://app.box.com/developers/services and click the link 'Create new application' Select 'Custom app' and click 'Next' Select 'Standard OAuth 2.0 (User Authentication)' and click 'Next' Click 'View Your App' Enter an application name Edit 'Redirect URI' on the OAuth 2.0 Redirect URI section and write http://yourmoodleserver/admin/oauth2callback.php Click 'Save Changes' button On to the section 'OAuth 2.0 Credentials' make a note of the client ID and secret The client ID and secret can then be used to configure the Box repository and Box portfolio. The client ID and secret can then be used to configure the Box repository and Box portfolio. Enabling the Box repository Go to Administration > Site administration > Plugins > Repositories > Manage Repositories Reactivate the Box.net repository by selecting 'Enabled and visible' in the dropdown menu Configure the repository plugin by entering the Box client ID and secret. Make sure you don't include any white space in the text boxes! Save changes Enabling the Box portfolio Go to Administration > Site administration > Plugins > Portfolios > Manage Portfolios Reactivate the Box.net portfolio by selecting 'Enabled and visible' in the dropdown menu Configure the portfolio plugin by entering the Box client ID and secret Save changes Capabilities There is just one capability, View box.net repository, which is allowed for the default authenticated user role. Source: docs.moodle.org/503/en/admin/managerepository/boxnet — MoodleDocs (GPL) · Imported 2026-11-10. admin/managerepository/flickr The Flickr repository enables a user to log into their Flickr account and copy files from their account into any of the Moodle file interfaces. 1 Flickr repository setup 2 Setting up a Flickr API 3 Repository capabilities 4 See also Flickr repository setup Location: Administration > Site administration > Plugins > Repositories > Manage repositories This page lets a site administrator configure access to a Flickr repository. To set this repository up you need to set the following two fields: API Key Secret Setting up a Flickr API To get your API Key and Secret you need to create an App inside your Flickr account. Visit this link to start creating your own API Key and secret. Click the "Get Another Key" button to start creating your App. Choose "Apply for a Non-commercial Key" Enter a title and brief description for the App (i.e. Moodle to Flickr Access - App to allow Moodle to access Flickr through its repository API) Tick the two boxes to show your agreement to Flickr's terms of use and then click submit. You will now have the key and secret for the new app. Copy and paste these into the fields in your Moodle Flickr configuration page. Click save on the Moodle Flickr configuration page. Revisit the settings of your Flickr repository in Moodle and copy the callback URL from that page. Revisit your Flickr App page and click on the "Edit Auth Flow for this App" link Paste the URL from your Moodle page into the Callback URL field on your Flickr App Click "Save Changes" You should now have a working Flickr repository. Try adding a file from your Flickr account as a resource in Moodle to test it! Repository capabilities There is just one capability, View Flickr repository, which is allowed for the default authenticated user role. See also Flickr public repository MDL-59645 - Flickr authentication flow stopped working - fixed in Moodle 3.3.3 onwards Source: docs.moodle.org/503/en/admin/managerepository/flickr — MoodleDocs (GPL) · Imported 2026-11-10. admin/managerepository/flickr public The Flickr public repository enables a user to search Flickr and copy files from there into any of the Moodle file interfaces. 1 Flickr public repository setup 1.1 Setting up a Flickr API 2 Repository capabilities 3 See also Flickr public repository setup Location: Site administration > Modules > Repositories > Manage repositories This page lets a site administrator configure access to a Flickr Public repository. To set this repository up you need to set an API key. Setting up a Flickr API To get your API key you need to create an App inside your Flickr account. Visit http://www.flickr.com/services/api/keys/ to start creating your own API Key. Click the "Get Another Key" button to start creating your App. Choose "Apply for a Non-commercial Key" Enter a title and brief description for the App (i.e. Moodle to Flickr Access - App to allow Moodle to access Flickr through its repository API) Tick the two boxes to show your agreement to Flickr's terms of use and then click submit. You will now have the key for the new app. Copy and paste this into the field in your Moodle Flickr public configuration page. Click save on the Moodle Flickr public configuration page. Click "Save Changes" You should now have a working Flickr public repository. From the File picker, click Flickr public and enter your required search term. Images will appear for you to select from: Searching Flickr public The search results Repository capabilities There is just one capability, Use Flickr public repository in file picker, which is allowed for the default authenticated user role. See also Flickr repository Source: docs.moodle.org/503/en/admin/managerepository/flickr public — MoodleDocs (GPL) · Imported 2026-11-10. admin/mod/lti/toolconfigure This page explores how to use LTI External tools in your course as activities. 1 How is it set up? 1.1 General 1.1.1 Content 1.1.2 Display activity name when students access the tool 1.1.3 Display activity description when students access the tool 1.1.4 Grade 1.1.5 Other settings 2 Using an LTI External tool as an activity 3 See also How is it set up? To create an activity using an LTI External tool, go to the Course page and turn on Edit mode. Click either the link ‘Add an activity or resource’ at the bottom of each section, or click anywhere on the course page where you want to add your item. The Activity chooser will show; then, select the tool you want to create an activity with. If the tool you want to use is not in the Activity chooser, you need to toggle the 'Show in activity chooser' option in the table in Course page > More > LTI External tools. This page is also where you can see all LTI External tools available in your course. For more information, see Managing LTI External tools. Once you select the tool in the Activity chooser, you can continue with activity creation and select the settings you'd like. General Content If you're using a tool that supports deep linking, you will see a 'Select content' button on top of the activity form. Use this button to select which specific content from the tool you want to use in your activity. Once you select content, the Activity name and Activity description might be automatically populated by the tool. If not, give your activity a name and, optionally, a description. Display activity name when students access the tool You will only see this setting if your site uses the Classic theme and, in the tool settings, the tool’s content display has been configured as ‘Embed’ or ‘Embed, without blocks’. This setting determines whether the activity name is displayed on the screen once your students access it. Display activity description when students access the tool You will only see this setting if, in the tool settings, the tool’s content display has been configured as ‘Embed’ or ‘Embed, without blocks’. This setting determines whether the activity description is displayed on the screen once your students access it. Grade Your activity will only have a Grade section if the tool it is using has been given permission to write grades in the gradebook. In activities created using LTI External Tools, the grade will always be given by the tool. You might have the option to completely deactivate grading for your activity if the checkbox ‘Allow tool to add grades in the gradebook’ is displayed. If you see the Grade section, but there is no checkbox  ‘Allow tool to add grades in the gradebook’, it means that your site administrator has configured the tool to always write grades in the gradebook. Other settings Depending on what is enabled for your site and course, you may also need to explore Common module settings, Restrict access, Activity completion, Tags and Competencies. Using an LTI External tool as an activity When students click the tool link they are automatically signed into the connecting site/tool provider (screenshot 1 below) and can take the quiz immediately. When the student has completed the quiz, the tool provider displays their grade (screenshot 2 below) and when the student logs out of the tool provider, the grade is passed back into Moodle (screenshot 3 below). 1.Student logged directly into tool provider 2. Tool provider displays score 3. Score passed to Moodle's gradebook See also Forum discussion 1.3 External Tools adding to a course in Moodle version 4.3 Source: docs.moodle.org/503/en/admin/mod/lti/toolconfigure — MoodleDocs (GPL) · Imported 2026-11-10. admin/mod/lti/toolproxies This page explores how to use LTI External tools in your course as activities. 1 How is it set up? 1.1 General 1.1.1 Content 1.1.2 Display activity name when students access the tool 1.1.3 Display activity description when students access the tool 1.1.4 Grade 1.1.5 Other settings 2 Using an LTI External tool as an activity 3 See also How is it set up? To create an activity using an LTI External tool, go to the Course page and turn on Edit mode. Click either the link ‘Add an activity or resource’ at the bottom of each section, or click anywhere on the course page where you want to add your item. The Activity chooser will show; then, select the tool you want to create an activity with. If the tool you want to use is not in the Activity chooser, you need to toggle the 'Show in activity chooser' option in the table in Course page > More > LTI External tools. This page is also where you can see all LTI External tools available in your course. For more information, see Managing LTI External tools. Once you select the tool in the Activity chooser, you can continue with activity creation and select the settings you'd like. General Content If you're using a tool that supports deep linking, you will see a 'Select content' button on top of the activity form. Use this button to select which specific content from the tool you want to use in your activity. Once you select content, the Activity name and Activity description might be automatically populated by the tool. If not, give your activity a name and, optionally, a description. Display activity name when students access the tool You will only see this setting if your site uses the Classic theme and, in the tool settings, the tool’s content display has been configured as ‘Embed’ or ‘Embed, without blocks’. This setting determines whether the activity name is displayed on the screen once your students access it. Display activity description when students access the tool You will only see this setting if, in the tool settings, the tool’s content display has been configured as ‘Embed’ or ‘Embed, without blocks’. This setting determines whether the activity description is displayed on the screen once your students access it. Grade Your activity will only have a Grade section if the tool it is using has been given permission to write grades in the gradebook. In activities created using LTI External Tools, the grade will always be given by the tool. You might have the option to completely deactivate grading for your activity if the checkbox ‘Allow tool to add grades in the gradebook’ is displayed. If you see the Grade section, but there is no checkbox  ‘Allow tool to add grades in the gradebook’, it means that your site administrator has configured the tool to always write grades in the gradebook. Other settings Depending on what is enabled for your site and course, you may also need to explore Common module settings, Restrict access, Activity completion, Tags and Competencies. Using an LTI External tool as an activity When students click the tool link they are automatically signed into the connecting site/tool provider (screenshot 1 below) and can take the quiz immediately. When the student has completed the quiz, the tool provider displays their grade (screenshot 2 below) and when the student logs out of the tool provider, the grade is passed back into Moodle (screenshot 3 below). 1.Student logged directly into tool provider 2. Tool provider displays score 3. Score passed to Moodle's gradebook See also Forum discussion 1.3 External Tools adding to a course in Moodle version 4.3 Source: docs.moodle.org/503/en/admin/mod/lti/toolproxies — MoodleDocs (GPL) · Imported 2026-11-10. admin/mod/lti/typesettings This page explores how to use LTI External tools in your course as activities. 1 How is it set up? 1.1 General 1.1.1 Content 1.1.2 Display activity name when students access the tool 1.1.3 Display activity description when students access the tool 1.1.4 Grade 1.1.5 Other settings 2 Using an LTI External tool as an activity 3 See also How is it set up? To create an activity using an LTI External tool, go to the Course page and turn on Edit mode. Click either the link ‘Add an activity or resource’ at the bottom of each section, or click anywhere on the course page where you want to add your item. The Activity chooser will show; then, select the tool you want to create an activity with. If the tool you want to use is not in the Activity chooser, you need to toggle the 'Show in activity chooser' option in the table in Course page > More > LTI External tools. This page is also where you can see all LTI External tools available in your course. For more information, see Managing LTI External tools. Once you select the tool in the Activity chooser, you can continue with activity creation and select the settings you'd like. General Content If you're using a tool that supports deep linking, you will see a 'Select content' button on top of the activity form. Use this button to select which specific content from the tool you want to use in your activity. Once you select content, the Activity name and Activity description might be automatically populated by the tool. If not, give your activity a name and, optionally, a description. Display activity name when students access the tool You will only see this setting if your site uses the Classic theme and, in the tool settings, the tool’s content display has been configured as ‘Embed’ or ‘Embed, without blocks’. This setting determines whether the activity name is displayed on the screen once your students access it. Display activity description when students access the tool You will only see this setting if, in the tool settings, the tool’s content display has been configured as ‘Embed’ or ‘Embed, without blocks’. This setting determines whether the activity description is displayed on the screen once your students access it. Grade Your activity will only have a Grade section if the tool it is using has been given permission to write grades in the gradebook. In activities created using LTI External Tools, the grade will always be given by the tool. You might have the option to completely deactivate grading for your activity if the checkbox ‘Allow tool to add grades in the gradebook’ is displayed. If you see the Grade section, but there is no checkbox  ‘Allow tool to add grades in the gradebook’, it means that your site administrator has configured the tool to always write grades in the gradebook. Other settings Depending on what is enabled for your site and course, you may also need to explore Common module settings, Restrict access, Activity completion, Tags and Competencies. Using an LTI External tool as an activity When students click the tool link they are automatically signed into the connecting site/tool provider (screenshot 1 below) and can take the quiz immediately. When the student has completed the quiz, the tool provider displays their grade (screenshot 2 below) and when the student logs out of the tool provider, the grade is passed back into Moodle (screenshot 3 below). 1.Student logged directly into tool provider 2. Tool provider displays score 3. Score passed to Moodle's gradebook See also Forum discussion 1.3 External Tools adding to a course in Moodle version 4.3 Source: docs.moodle.org/503/en/admin/mod/lti/typesettings — MoodleDocs (GPL) · Imported 2026-11-10. admin/plagiarism 1 Enabling plagiarism prevention 2 Plagiarism prevention plugins 2.1 Fully supported plugins 2.2 Partially supported plugins 3 Other tools for managing plagiarism Enabling plagiarism prevention To make use of plagiarism prevention, the feature must be enabled by an administrator by checking the enable plagiarism plugins box in Administration > Site administration > Advanced features. Plagiarism prevention plugins An administrator then needs to install and configure one or more plagiarism prevention plugins in Administration > Site administration > Plugins > Plagiarism prevention > Plagiarism settings. Possible plugins include: Fully supported plugins These are plugins that support plagiarism detection within the Moodle Assignment, Workshop, Forum, and essay questions within the Moodle quiz activities Compilatio - Commercial tool requires paid subscription Turnitin - Commercial tool requires paid subscription Originality - Commercial tool requires paid subscription Unicheck - Commercial tool requires paid subscription Ouriginal - Previously called Urkund - recently acquired by Turnitin and in process of shutting down/migrating clients to Turnitin. Originality.ai - Inexpensive commercial tool requires paid subscription (does not currently support Workshop) Partially supported plugins These are plugins that currently only support the Moodle Assignment activity. CopyCheck - Commercial tool requires paid subscription PLAGIARISMA - Commercial tool requires paid subscription PlagScan - Commercial tool requires paid subscription Vericite - Commercial tool requires paid subscription Other tools for managing plagiarism Acknowledge plagiarism statement access rule - A plugin by the Open University lets you require students to agree to a statement about not plagiarising before starting a quiz. Safe Exam Browser quiz access rule - Provides Safe Exam Browser 2.0 integration for Moodle. Essay (auto-grade) question type - An additional essay question type that can use a glossary of common errors to detect plagiarized phrases. [verwalten] [prevención de plagio] Source: docs.moodle.org/503/en/admin/plagiarism — MoodleDocs (GPL) · Imported 2026-11-10. admin/portfolio Enabling portfolios Enabling the use of portfolios in Moodle is a 2-step process for a site administrator: Check the enableportfolios box in Administration > Site administration > Advanced features Enable selected portfolio plugins in Administration > Site administration > Plugins > Portfolios > Manage portfolios Individual portfolios will have a "Settings" link with configuration details and information. Individual user settings for portfolios See Portfolios for details on how individuals can choose which enabled portfolios to display or hide and how to view the records of exported items. Portfolio capabilities Export own assignment submissions Export forum discussions Export forum posts Export own forum posts Export own database activity entries Export glossary entries Export own glossary entries Export to portfolio Source: docs.moodle.org/503/en/admin/portfolio — MoodleDocs (GPL) · Imported 2026-11-10. admin/portfolio/boxnet Note: The Box portfolio has been removed from new installations of Moodle 4.1. The code for the Box portfolio is currently available from the Plugins directory. Enabling the Box portfolio In order to use the Box portfolio, your Moodle site must use HTTPS. In addition, an administrator must obtain a Box client ID and secret, as described in . The client ID and secret can then be used to configure all Box plugins. Go to Administration > Site administration > Plugins > Portfolios > Manage Portfolios Activate the Box.net portfolio by selecting 'Enabled and visible' in the dropdown menu Configure each portfolio by entering the client ID and secret Save changes Sending/"pushing" your files to Box You can export items such as assignments, chat and forum posts to enabled portfolios such as Box. Click the words "export to portfolio" and then select from the dropdown Box.net (If it is the only portfolio enabled, it will be the only choice!) On the next screen, choose your sharing options and which folder to export to: Click to confirm the export: Click "Continue". If you haven't done this before you will be prompted to log in to your account. Agree and log in. The "export complete" message will appear. Clicking "continue" will take you to Box if you wish. See also for details of consequences of the Box API change Source: docs.moodle.org/503/en/admin/portfolio/boxnet — MoodleDocs (GPL) · Imported 2026-11-10. admin/portfolio/download The File download portfolio allows for easy download of content in Moodle activities. Enabling file download (admin settings) Go to Administration > Site administration > Advanced features > Enable portfolios Go to Administration > Site administration > Plugins > Portfolios > Manage Portfolios Click the "Settings" and if desired, give File download a customised name (not essential) Sending/"pushing" files to File download You can export content such as attached files in forum posts to File download. Click the plus icon next to the file - in this instance, a pdf document: On the next screen, choose the portfolio to export to. (If File download is the only one, you will only have that option!) Click "Next" and then choose the file format you wish to export as. (Which formats you are offered depends on the type of file you wish to download) On the next screen, click "Continue" to confirm your export and download your file: Source: docs.moodle.org/503/en/admin/portfolio/download — MoodleDocs (GPL) · Imported 2026-11-10. admin/portfolio/evernote 1 Introduction 2 Installation Steps 3 Moodle Versions Supported 4 Items which may be exported to portfolio 5 Sending the Data to your Evernote Accounts Introduction Evernote is used by a large number of people to store their daily files and activities. Especially, in the field of education, many educators and students use Evernote to share their notes with others. With this plugin, the users are able to sync their Moodle and Evernote activities in a better way. This plugin enables the users to export the desired Moodle content to their Evernote accounts in a clean and simple way. Installation Steps If you don't have an Evernote API key beforehand, go through the following steps: Go to Evernote Developer's page. Click on 'Get an API Key button' In the API Permissions block, click on 'Full Access'. Then fill up the other details and submit the form. Register your API key as a public key from Evernote. Now having the Evernote key, you need to request Evernote for activating the key. This will ensure that the key works on the Evernote production servers (The key which is not activated, runs only for Evernote Sandbox Accounts). If you don't have an activated key yet, follow the following steps: Go to Evernote Support. Click on the button 'Activate an API Key Fill in the correct details and submit the form. Please note that it might take a few days for Evernote to activate the API Key. Download the Evernote Portfolio plugin from Github. Extract the zip file in your Moodle directory (Moodle_folder)/portfolio. Rename the folder of the plugin to 'evernote'. Log in to Moodle as administrator and install the Evernote Portfolio. Ensure that Portfolios are enabled on the site on Site Administration->Advanced Features. Enable the Evernote plugin from Site Administration->Plugins->Portfolios->Manage Portfolios In the form that appears, select 'No' for Using Testing Server if the Evernote Key has been activated. Else, select 'Yes'. Note that while using testing server, you'll be using the Evernote Key for the Evernote Sandbox Accounts. This is a testing platform provided by Evernote to test out the plugin before use. You'll need to have a separate Sandbox account to test the plugin on your account. The Sandbox account is independent of the main Evernote account. Enter the API Key and the Secret Key you registered at Evernote and click on Save. You have now activated the plugin for Evernote. Moodle Versions Supported Currently the plugin supports Moodle versions from 2.3 and upwards. Items which may be exported to portfolio Export of all the items which are supported by default in Moodle Portfolio are supported. They are listed below: Assignment submissions - single and multiple file uploads Chat sessions Database activity module entries Database activities Forum posts Glossary entries Sending the Data to your Evernote Accounts Click on Export to Portfolio link on any forum post/chat sessions/database entries and activities/assignment/glossary entries you want to send to your Evernote Account. Select 'Evernote' and click 'Next'. Fill out the necessary details and click 'Next'. Here you get the summary of the details you had entered in the previous form. Click 'Next' to finalize the export. Source: docs.moodle.org/503/en/admin/portfolio/evernote — MoodleDocs (GPL) · Imported 2026-11-10. admin/portfolio/flickr Enabling the Flickr portfolio (admin settings) Go to Administration>Site administration>Advanced features and enable portfolios Go to Administration > Site administration > Plugins > Portfolios > Manage Portfolios; Select from the drop down next to Flickr "Enabled and visible" Click the "Settings" link and -if desired -give the Flickr portfolio a new name Log in to Flickr and apply for a new API key, using the link provided on the Settings page. A screen will appear with a key and a "secret". Copy both and paste into the boxes on the Settings page. Go back to the Flickr screen and click on "edit auth flow for this app" Click "Select app type" and choose "web application" Into the "Callback URL" box, paste the URL you are given on your Flickr Settings page and save. Save the Settings. Sending/"pushing" an image to Flickr You can export to Flickr images attached to forum posts or uploaded in assignments, for example. The image will have an arrow icon next to it.Click this to export to Flickr.com If other portfolios have been enabled, choose Flickr.com from the dropdown menu.If not, then it will be your only choice! Click "Next" If you have not logged in before you will be asked for permission to connect to Flickr. Give authorisation and on the next screen, choose your sharing and privacy options: Click "Next" and confirm your settings: You will receive a message "export complete". Clicking "Continue" will take you - if you wish - to your Flickr account. See also MDL-59645 - Flickr authentication flow stopped working - fixed in Moodle 3.3.3 onwards Source: docs.moodle.org/503/en/admin/portfolio/flickr — MoodleDocs (GPL) · Imported 2026-11-10. admin/portfolio/googledocs Google Drive can serve both as a repository from which users can "pull" files they need for their course and also a Portfolio into which they can "push" files they want to keep. Both options need to be enabled by the administrator before they are available for teachers and students. Enabling the Google Drive portfolio Note: In order to use the Google Drive repository an administrator must register their Moodle site with Google, as described in Google OAuth setup, and obtain a client ID and secret. The client ID and secret can then be used to configure all Google Drive and Picasa plugins. Log in as an administrator and go to Administration > Site administration > Plugins > Portfolios > Manage Portfolios Activate the Google Drive portfolio by selecting 'Enable and visible' in the dropdown menu Configure the Google Drive portfolio by entering the client ID and secret Save changes Sending ("pushing") your files to Google Drive You can export items such as assignments, chat and forum posts to enabled portfolios. Here is an example with a forum post: In the post menu select Export to portfolio. Next, select Google Drive as the destination from the dropdown. If it is the only portfolio enabled, it will be the only choice! Click "Next". If you haven't done this before you will be prompted to log in to your account. Agree and log in. The "export complete" message will appear. Clicking "continue" will take you to Google Drive. As an example, an exported forum post will be named "post.html" It will open up like this: Source: docs.moodle.org/503/en/admin/portfolio/googledocs — MoodleDocs (GPL) · Imported 2026-11-10. admin/portfolio/picasa Picasa portfolio is no longer available as it is no longer offered by Google. Source: docs.moodle.org/503/en/admin/portfolio/picasa — MoodleDocs (GPL) · Imported 2026-11-10. admin/repository 1 Enabling repositories 2 Vocabulary 3 Common repository settings 3.1 Cache expire 3.2 Timeout settings 3.2.1 Get file timeout 3.2.2 Sync file timeout 3.2.3 Sync image timeout 3.3 Allow external links 4 Repository capabilities Enabling repositories Repositories can be enabled by an administrator in Site administration > Plugins > Repositories > Manage repositories. A repository plugin may be set to one of three possible statuses: "Enabled and visible" means available for use in the File picker "Enabled and hidden" means not available in the File picker "Disabled" means not available for use and if content has been added to your site you will be given the following message: Are you sure you want to remove this repository plugin, its options and all of its instances - [Repository Name here]? If you choose "Continue and download", file references to external contents will be downloaded to Moodle. This could take a long time to process. With options to Continue, Continue and download, or Cancel. The order in which repositories are shown in the file picker may be set using the up and down arrows. Vocabulary Repository plugin: it is also called a repository type. It can be named Box, Flickr, Mahara, Youtube... Adding a plugin allow users to create instances of this plugin. Only instances are displayed into the file picker. Type only exist in order to let a Moodle administrator to deactivate/delete all instances of a type in one click. Repository instance: An instance is displayed into the file picker and it is the access point to an external repository. An instance can have specific settings (for example be linked to a personal account). First case: when you add the plugin, an instance is automatically created and can not be edited. The Moodle administrator cannot change the instance name. The instance name displayed into the file picker will be exactly the same as the plugin name. For example, Youtube, Box... Second case: the plugin allow the Moodle administrator to add multiple instances. An instance has a name for example Flickr Public access to Martin account, Martin's Mahara... For this second case it is important to identify two different kind of instances: Common instances: The instances set by Moodle administrator in these same administration pages will be available into any file picker. Private instance: A teacher can set some instances available only for a course, and a user can set some instances only available for himself. In order to set instances for a course the teacher will go to the course page, and in order to set instances for a personal use, a user will go on his profile page. An administrator cannot add/edit private instances from the administration pages. Common repository settings Common repository settings can be set by an administrator in Site administration > Plugins > Repositories > Common Repository settings: Cache expire You can specify how long in seconds file listings are cached locally when browsing external repositories. Timeout settings If users are reporting timeouts when using repositories, an admin can increase the timeout for downloading or synchronising files. Get file timeout Timeout in seconds for downloading an external file into Moodle. Defaults to 30. Sync file timeout Timeout in seconds for syncronising the external file size. Defaults to 1. Sync image timeout Timeout in seconds for downloading an image file from external repository during syncronisation. Defaults to 3. Allow external links With some repositories such as Flickr and Wikimedia, users can have the choice whether to copy the media into Moodle (the preferred solution) or to make a link to it instead. Defaults to Yes. Repository capabilities Authenticated user role: View Embedded files View Box repository View a Dropbox folder View Flickr repository Use Flickr public repository in file picker View Google Drive repository View the Merlot repository View Picasa repository View Recent files View Amazon s3 repository View Microsoft OneDrive repository Use uploading in file picker Use URL downloader in file picker View use Private files View Wikimedia repository Use YouTube in file picker Manager, Course creator, Teacher, Non-editing teacher Roles: View File system repository View Server repository View WebDav repository Source: docs.moodle.org/503/en/admin/repository — MoodleDocs (GPL) · Imported 2026-11-10. admin/repository/alfresco Warning! The Alfresco plugin does not work with Alfresco 5.0.c or later. The Alfresco repository has been removed from the standard Moodle 3.2. The Alfresco repository enables users to link to or copy files from Alfresco into Moodle. Capabilities There is just one capability, repository/alfresco:view, which is allowed for the default authenticated user role. See also Video on Adding a file to Alfresco and copying it into Moodle 2 Integrating Moodle 2.0 with Alfresco to Manage Content for Business article REMARK: Alfresco supports WebDAV ; so yo can activate WebDAV repositories on Moodle and create an instance to Alfresco. Source: docs.moodle.org/503/en/admin/repository/alfresco — MoodleDocs (GPL) · Imported 2026-11-10. admin/repository/areafiles The embedded files repository allows users to access files such as images which they have previously embedded into the text editor. This makes it more convenient, for example, to quickly re-use images in a label or page. It complements the Manage embedded files plugin, which allows files embedded in the editor to be deleted or overwritten. See Text editor for more details. Embedded files repository in File picker Embedded files repository This repository can be accessed when using the text editor and inserting images, videos or creating hyperlinks. The first time a file is added, it is added from the usual repositories, for example Upload a file. It will then become available for reuse in the same text area from the Embedded files repository. See also Managing embedded files plugin in TinyMCE text editor YouTube video Managing files embedded in the text editor The video refers to an earlier (contributed) version of this repository, but is still useful to get an idea of how it works. Source: docs.moodle.org/503/en/admin/repository/areafiles — MoodleDocs (GPL) · Imported 2026-11-10. admin/repository/boxnet Note: The Box repository has been removed from new installations of Moodle 4.x. The code for theBox repository is currently available from the Plugins directory. The Box repository enables users to copy files from Box into Moodle. In order to use the Box repository, your Moodle site must use HTTPS. In addition, an administrator must obtain a Box client ID and secret. The client ID and secret can then be used to configure all Box plugins. 1 Obtaining a Box client ID and secret 2 Enabling the Box repository 3 Enabling the Box portfolio 4 Capabilities Obtaining a Box client ID and secret Go to https://app.box.com and create an account or log in Go to https://app.box.com/developers/services and click the link 'Create new application' Select 'Custom app' and click 'Next' Select 'Standard OAuth 2.0 (User Authentication)' and click 'Next' Click 'View Your App' Enter an application name Edit 'Redirect URI' on the OAuth 2.0 Redirect URI section and write http://yourmoodleserver/admin/oauth2callback.php Click 'Save Changes' button On to the section 'OAuth 2.0 Credentials' make a note of the client ID and secret The client ID and secret can then be used to configure the Box repository and Box portfolio. The client ID and secret can then be used to configure the Box repository and Box portfolio. Enabling the Box repository Go to Administration > Site administration > Plugins > Repositories > Manage Repositories Reactivate the Box.net repository by selecting 'Enabled and visible' in the dropdown menu Configure the repository plugin by entering the Box client ID and secret. Make sure you don't include any white space in the text boxes! Save changes Enabling the Box portfolio Go to Administration > Site administration > Plugins > Portfolios > Manage Portfolios Reactivate the Box.net portfolio by selecting 'Enabled and visible' in the dropdown menu Configure the portfolio plugin by entering the Box client ID and secret Save changes Capabilities There is just one capability, View box.net repository, which is allowed for the default authenticated user role. Source: docs.moodle.org/503/en/admin/repository/boxnet — MoodleDocs (GPL) · Imported 2026-11-10. admin/repository/contentbank Info coming soon... Repository capabilities Access course category content bank files Access system content bank files Access course content bank files View content bank repository Source: docs.moodle.org/503/en/admin/repository/contentbank — MoodleDocs (GPL) · Imported 2026-11-10. admin/repository/dropbox The Dropbox repository enables users to copy or create a shortcut or alias to files from their own Dropbox. See Working with files for more details. 1 Enabling the Dropbox repository 2 Using the Dropbox repository 3 Repository capabilities 4 See also Enabling the Dropbox repository To use the Dropbox repository, an administrator must first create an OAuth 2 service. Go to OAuth 2 services in Site administration - Server and click the button to create a new custom service. Go to 'Manage repositories' in Site administration and enable the Dropbox repository. On the Dropbox configuration page, select the OAuth 2 service then save changes. Using the Dropbox repository To select a file via Dropbox, editing teachers will click on the Dropbox link in the file picker and log on to access the files in their account. They will see a message requesting access: When they are done, they can log out. Repository capabilities There is just one capability, View a Dropbox folder, which is allowed for the default authenticated user role. See also MDL-70268 - Dropbox scope updates MDL-70271 - Dropbox API token updates Source: docs.moodle.org/503/en/admin/repository/dropbox — MoodleDocs (GPL) · Imported 2026-11-10. admin/repository/equella The EQUELLA repository enables users to make aliases (shortcuts) to EQUELLA files. Updating the files in EQUELLA will automatically cause them to update in Moodle. In addition to being able to search the EQUELLA repository, users also have the option to manage their repository and add new files. 1 Requirements 2 Setup 2.1 EQUELLA configuration 2.2 Moodle configuration 3 Capabilities 4 See also Requirements EQUELLA 5.2 QA2 or higher is required for this repository plug-in to work correctly. Setup Warning: This page may be outdated. See openEQUELLA's own documentation at https://openequella.github.io/guides/MoodleIntegrationGuide.html EQUELLA configuration A shared secret must be configured in EQUELLA that Moodle will use to authenticate access for users. Log in to your EQUELLA site as admin. Your URL might be for instance http:// equella.myequellainstitution.edu Select 'Settings' and then 'Administration Console' (1 below) NOTE: You will need up to date Java for this to display. Select User Management. Highlight 'Shared Secret' and click 'Configure' at the bottom of the screen (2 below) A new name 'Default' will appear with configuration elements to the right (3 below) Add a name for the Unique identifier and a shared secret. Any secret will do, but a longer one with a mix of letters and numbers is best. Make a note of it to use when configuring Moodle. Add any extra details and save. 1.Accessing the Admin console 2.Configuring shared secret 3.Defining the shared secret For further information, please consult the EQUELLA Moodle Configuration Guide. Moodle configuration The EQUELLA repository may be enabled by a site administrator in Administration > Site administration > Plugins > Repositories > Manage repositories. From there, an EQUELLA repository instance can be created. EQUELLA URL The URL to your EQUELLA install with "/signon.do" appended. For example, "http:// equella.myinstitution.edu/logon.do" would become "http:// equella.myinstitution.edu/signon.do" EQUELLA options This is an optional advanced setting that can be used to restrict users to a limited set of collections or advanced searches. Restrict selection Choose if users should be restricted to only choosing attached resources, summary pages or no restriction. Default role settings The shared secret ID and shared secret entered here should match those that have been setup in EQUELLA {X} role settings Shared secrets configured under a specific role will take precedence over the default shared secret if a user has that role. The security ACLs in EQUELLA can then be configured to grant or revoke access to additional functionality based on the shared secret that the user was authenticated with. Capabilities There is just one capability, View EQUELLA repository, which is allowed for the default authenticated user role. See also Moodle configuration guide for EQUELLA 5.2 Moodle user guide for EQUELLA 5.2 Additional Moodle modules and blocks for integrating with EQUELLA EQUELLA community site EQUELLA Pearson Announces Deeper Integration Between EQUELLA 5.2 Digital Repository and Moodle Learning Management System Source: docs.moodle.org/503/en/admin/repository/equella — MoodleDocs (GPL) · Imported 2026-11-10. admin/repository/filesystem The file system repository allows access to files which have been uploaded (e.g. via FTP) into designated folders on the server. (Note that these folders are not created inside the Moodle site, but on the server where Moodle is hosted.) A file system repository may be available site wide for everyone or within an individual course (set up by admin) or for an individual administrator. See MDL-28656 regarding course and individual repository configuration. This must be done by a systems admin who has write permissions to the server directories. When a file from the file system repository is re-used elsewhere on Moodle, the teacher has the option to make a copy (a new, unconnected version) or to create a shortcut or alias. See Working with files for more details. Once a repository has been created and files uploaded to it, the files can be made available within the file picker for use within a course. There are several steps to take to implement this feature:- These must be done by a systems admin who has write permissions to the server directories and admin permissions within Moodle. 1 Creating folders for your file system repositories 2 Enabling the File System repository plugin 3 Setting up a site-wide file system repository 4 Setting up a repository inside a course 5 Setting up an individual file system repository instance 5.1 Using a File System repository file 6 Repository capabilities 7 See also Creating folders for your file system repositories Find the moodledata folder on the server Inside it, create a folder called "repository" Inside that folder, create as many folders as you need, named appropriately. Creating repositories on the server Copy into the appropriate folder the files you want (using FTP, SFTP, shared folder etc.). (The folders can hold all types of files) Enabling the File System repository plugin Go to Administration > Site administration > Plugins > Repositories > Manage Repositories; Select from the drop down next to File system "Enabled and visible" Note: Ignore the similarly named repository 'Server Files' (enabled by default). Click the Settings link.. Setting up a site-wide file system repository Having clicked the "Settings" link as above: Scroll down to Repositories instances of the site Click Create a repository instance Give it a name and (if there are several folders on the server) choose from the dropdown the one you want. Click Save. It will now be available in the file picker in all courses. Creating a new file system repository Selecting and naming the repository NOTE: Just repeat the process to get more than one site wide file system repository Setting up a repository inside a course NOTE only Moodle admins can do this Enable repositories as in the instructions above. On the Settings page: Check the top box allowing users to add a repository instance to the course (1 below) Go to the desired course and click on “repositories” in the administration block(2 below) Scroll down and click "Create File System instance" (3 below) 1:Enable course repositories 2:Click "Repositories" in Course admin 3:Click to create an instance in the course Follow the same process as here Setting up an individual file system repository instance NOTE: Only Moodle admins can do this Enable repositories as in the instructions above. On the Settings page: Check the top box allowing users to add a repository instance to the user context (1 below) From the user menu, click "Preferences" Click on “Repositories” Click “Create File System instance” Follow the same process as here This will create a personal file system repository connecting just you to a folder on the server (2 below) 1:Enable user repository instances 2:Adding files from individual repository Upload any files required by course creators to the appropriate folders Server permissions are needed here to add via FTP (or other method) the required files. From this point on the check boxes need not be set - leaving them set just invites people to create a repository instance and then advises them that they do not have sufficient privilges. Using a File System repository file A user can now make use of the uploaded files by accessing the repository from within the file picker, creating a resource link to a document, for example. This process copies the uploaded file into Moodle and students may access the resource. It's possible to search the files in the File system repository to make locating files easier if there are many files available. Searching the file system repository Note that file types are respected (based on file extensions), so if you are adding an image in the editor, then you won't see Office docs (for example) appear in the File Picker. Repository capabilities There is just one capability, View file system repository, which is allowed for the default manager, course creator, non-editing teacher and editing teacher roles. It is not set for the authenticated user role. Thus, students cannot by default view the file system repository. See also File system repository FAQ Restoring file aliases Overview of Repositories FTP files into Moodle 2.0 with the repository API article from somerandomthoughts.com including screencast Source: docs.moodle.org/503/en/admin/repository/filesystem — MoodleDocs (GPL) · Imported 2026-11-10. admin/repository/flickr The Flickr repository enables a user to log into their Flickr account and copy files from their account into any of the Moodle file interfaces. 1 Flickr repository setup 2 Setting up a Flickr API 3 Repository capabilities 4 See also Flickr repository setup Location: Administration > Site administration > Plugins > Repositories > Manage repositories This page lets a site administrator configure access to a Flickr repository. To set this repository up you need to set the following two fields: API Key Secret Setting up a Flickr API To get your API Key and Secret you need to create an App inside your Flickr account. Visit this link to start creating your own API Key and secret. Click the "Get Another Key" button to start creating your App. Choose "Apply for a Non-commercial Key" Enter a title and brief description for the App (i.e. Moodle to Flickr Access - App to allow Moodle to access Flickr through its repository API) Tick the two boxes to show your agreement to Flickr's terms of use and then click submit. You will now have the key and secret for the new app. Copy and paste these into the fields in your Moodle Flickr configuration page. Click save on the Moodle Flickr configuration page. Revisit the settings of your Flickr repository in Moodle and copy the callback URL from that page. Revisit your Flickr App page and click on the "Edit Auth Flow for this App" link Paste the URL from your Moodle page into the Callback URL field on your Flickr App Click "Save Changes" You should now have a working Flickr repository. Try adding a file from your Flickr account as a resource in Moodle to test it! Repository capabilities There is just one capability, View Flickr repository, which is allowed for the default authenticated user role. See also Flickr public repository MDL-59645 - Flickr authentication flow stopped working - fixed in Moodle 3.3.3 onwards Source: docs.moodle.org/503/en/admin/repository/flickr — MoodleDocs (GPL) · Imported 2026-11-10. admin/repository/flickr public The Flickr public repository enables a user to search Flickr and copy files from there into any of the Moodle file interfaces. 1 Flickr public repository setup 1.1 Setting up a Flickr API 2 Repository capabilities 3 See also Flickr public repository setup Location: Site administration > Modules > Repositories > Manage repositories This page lets a site administrator configure access to a Flickr Public repository. To set this repository up you need to set an API key. Setting up a Flickr API To get your API key you need to create an App inside your Flickr account. Visit http://www.flickr.com/services/api/keys/ to start creating your own API Key. Click the "Get Another Key" button to start creating your App. Choose "Apply for a Non-commercial Key" Enter a title and brief description for the App (i.e. Moodle to Flickr Access - App to allow Moodle to access Flickr through its repository API) Tick the two boxes to show your agreement to Flickr's terms of use and then click submit. You will now have the key for the new app. Copy and paste this into the field in your Moodle Flickr public configuration page. Click save on the Moodle Flickr public configuration page. Click "Save Changes" You should now have a working Flickr public repository. From the File picker, click Flickr public and enter your required search term. Images will appear for you to select from: Searching Flickr public The search results Repository capabilities There is just one capability, Use Flickr public repository in file picker, which is allowed for the default authenticated user role. See also Flickr repository Source: docs.moodle.org/503/en/admin/repository/flickr public — MoodleDocs (GPL) · Imported 2026-11-10. admin/repository/googledocs Google Drive can serve both as a repository from which users can access files they have previously uploaded from Moodle and also as a portfolio into which they can "push" files they want to keep. When using the auth/drive.file scope, users cannot browse or pull files directly from their full Google Drive; only files uploaded via Moodle will be shown. Both options need to be enabled by the administrator before they are available for teachers and students. Both options need to be enabled by the administrator before they are available for teachers and students. 1 Enabling the Google Drive repository 1.1 Troubleshooting 2 Access controlled links 3 Getting ("pulling") your files from Google Drive 4 Repository capabilities 5 See also Enabling the Google Drive repository To use the Google Drive repository, an administrator must first create a Google service (a new requirement in Moodle 3.3 onwards). Go to 'OAuth 2 services' in Site administration and click the button to create a new Google service. Follow the instructions in OAuth 2 Google service and obtain a client ID and secret. Enter the client ID and secret and save changes. Go to 'Manage repositories' in Site administration and enable the Google Drive repository. On the Google Drive configuration page, make sure that Google is selected as the OAuth 2 service then save changes. Troubleshooting If you obtain a 'This app isn't verified' message, you will need to complete a OAuth Developer Verification Form. The list of scopes that Moodle requires are: openid profile email https://www.googleapis.com/auth/drive.file. See the discussion Google Drive Repository and Moodle 3.3.1 for more details. Access controlled links Students may submit files from Google Drive as 'access controlled links' in assignments. Once submitted, the student may no longer change them, but the teacher is allowed to edit them. Teachers may display files from Google Drive as 'access controlled links'. The teacher can then continue updating the files, but students can only view them. To enable this feature, ensure that: A system account has been connected in OAuth 2 services in Site administration. This account will own and control access to files submitted by students and teachers. Teachers will be able to edit the files but students will not. This should be a dedicated account for this purpose. "Supported files" is set to "Internal and External". "Default return type" is set to "External (only links stored in Moodle)". Getting ("pulling") your files from Google Drive From the file picker, click on the Google Drive link and a prompt to log in will appear: If it is your first time, the click the "Allow access" button to log in. Log into your account Allow access Your files will display for you to choose from (you will only see files that you have previously uploaded from Moodle to Google Drive.) You also have the option to upload a new file to Google Drive using the upload icon. After uploading, the file will appear in the list and can be selected like any other repository file. You can view them in three ways by clicking one of the options at the top right. Icon view Table view List view Repository capabilities There is just one capability, View Google Drive repository, which is allowed for the default authenticated user role. See also Issue with submitting assignments via Google Drive for those using Google Education Plus OAuth 2 authentication for enabling users to log in to Moodle with their Google account Google Drive repository in 3.3 with non-institutional accounts forum discussion Google Drive Repository and Moodle 3.3.1 forum discussion Source: docs.moodle.org/503/en/admin/repository/googledocs — MoodleDocs (GPL) · Imported 2026-11-10. admin/repository/local What are server files? The server files repository enables teachers and managers to access files used within a course and elsewhere on the site which they have permission to access. Activity modules for which files are available in the server files repository are: File resource Folder resource Database Forum Glossary Lesson Whole site category view Course view Course section view A search box at the top of the Server files screen allows those users with relevant permissions elsewhere on the site to search other courses for a required file. A teacher who teaches several courses for example can now quickly locate a document used in one of her older courses by typing its name into the Search field: When a file from the server files repository is re-used elsewhere on Moodle, the teacher has the option to make a copy (a new, unconnected version) or to create a shortcut or alias. See Working with files for more details. Repository capabilities The capability View server repository, which is allowed for the default roles of manager, course creator, teacher and non-editing teacher, ensures that the server files repository is listed in the file picker. This capability should be allowed together with the manage files capability to enable users to access files used within a course. Source: docs.moodle.org/503/en/admin/repository/local — MoodleDocs (GPL) · Imported 2026-11-10. admin/repository/merlot The Merlot.org repository enables users to copy files from Merlot into Moodle. Enabling the Merlot.org repository (admin settings) Go to Administration > Site administration > Plugins > Repositories > Manage Repositories; Select from the drop down next to Merlot.org "Enabled and visible" Click on "Settings" and give it a customised name (not essential) Add your license key (which may be obtained from here [1] ) Using the Merlot.org repository With the editing turned on in your course, select Add a resource>URL Click "Choose link" next to the External URL box. The Merlot.org repository will be available as a link to search for content. Type in a search term or author and then click the Search button A selection of suggested resources will appear: Searching the Merlot respository The search results Click the item you wish to display;choose a licence and click Select this file The resource will appear on your course page with the URL icon. Repository capabilities There is just one capability, View the Merlot repository, which is allowed for the default authenticated user role. Source: docs.moodle.org/503/en/admin/repository/merlot — MoodleDocs (GPL) · Imported 2026-11-10. admin/repository/nextcloud Load video YouTube YouTube might collect personal data. Privacy Policy 1 Enabling the Nextcloud repository 2 Access controlled links 3 Troubleshooting 4 Repository capabilities 5 See also Enabling the Nextcloud repository Prior to using the Nextcloud repository, an administrator must first create a Nextcloud service in the OAuth 2 configuration. Afterwards, the repository can be enabled. Configure Nextcloud for use with Moodle. Create a Nextcloud service. Go to 'Manage repositories' in Site administration and enable the Nextcloud repository. On the Nextcloud configuration page, click Create a repository instance. Enter a Name (that will be displayed to your users) and, as the Issuer, select the service that was created in step 2. If you want, you can also change the "Moodlefiles" folder name (*) to something that you prefer. (*) When users access an access controlled link, the corresponding document will be shared privately with them. That document will be placed in a folder by that name. You can choose a simple name that matches the name of your Moodle so that your users will understand where these files belong. Access controlled links Students may submit files from Nextcloud as 'access controlled links' in assignments. Once submitted, the student may no longer change them, but the teacher is allowed to edit them, for example to provide comments. Teachers may display files from Nextcloud as 'access controlled links'. The teacher can update the files, but students can only view them. Changes made by teachers will be reflected in the course. To enable this feature, ensure that: A system account has been connected in OAuth 2 services in Site administration. This account will own and control access to files submitted by students and teachers. Teachers will be able to edit the files but students will not. This must be a dedicated account for this purpose, i.e. it must not be an account that belongs to an individual. "Supported files" is set to "Internal and External". Optional: "Default return type" is set to "External (only links stored in Moodle)". Troubleshooting Please refer to Troubleshooting. Repository capabilities There is just one capability, View Nextcloud repository, which is allowed for the default authenticated user role. See also Cannot use properly Nextcloud integrations - installations with NGINX forum discussion Source: docs.moodle.org/503/en/admin/repository/nextcloud — MoodleDocs (GPL) · Imported 2026-11-10. admin/repository/onedrive 1 About the Microsoft OneDrive repository 2 Enabling the OneDrive repository 3 Access controlled links 4 Repository capabilities 5 See also About the Microsoft OneDrive repository The Microsoft OneDrive repository allows you to access your documents from Microsoft OneDrive within Moodle. As well as adding basic files, the OneDrive repository link allows you to access your OneDrive live directly from the configuration icon. The first time you access the OneDrive repository, you will be prompted to agree to connect. Once you have agreed, you can then log in, view and use your files. Enabling the OneDrive repository To use the OneDrive repository, an administrator must first create a Microsoft OAuth 2 service (a new requirement in Moodle 3.3 onwards). Go to 'OAuth 2 services' in Site administration - Server and click the button to create a new Microsoft service. Follow the instructions in OAuth 2 Microsoft service and obtain a client ID and secret. Enter the client ID and secret and save changes. Go to 'Manage repositories' in Site administration and enable the OneDrive repository. On the OneDrive configuration page, make sure that Microsoft is selected as the OAuth 2 service then save changes. Note: OneDrive requires that requests are delivered over SSL - this means that the OneDrive repository will not work if your site is not running over HTTPS. Access controlled links Students may submit files from OneDrive as 'access controlled links' in assignments. Once submitted, the student may no longer change them, but the teacher is allowed to edit them. Teachers may display files from OneDrive as 'access controlled links'. The teacher can then continue updating the files, but students can only view them. To enable this feature, ensure that: A system account has been connected in OAuth 2 services in Site administration. This account will own and control access to files submitted by students and teachers. Teachers will be able to edit the files but students will not. This should be a dedicated account for this purpose. "Supported files" is set to "Internal and External" . "Default return type" is set to "External (only links stored in Moodle)". Repository capabilities There is just one capability associated with this repository: View OneDrive repository. See also OAuth 2 authentication for enabling users to log in to Moodle with their Microsoft account Source: docs.moodle.org/503/en/admin/repository/onedrive — MoodleDocs (GPL) · Imported 2026-11-10. admin/repository/picasa The Picasa web album repository enables users to copy files from Picasa into Moodle, similar to the Google Drive repository. Enabling the Picasa web album repository Note: In order to use either the Picasa web album or Google Drive repositories (also the Google Drive or Picasa portfolios) an administrator must register their Moodle site with Google, as described in Google OAuth 2.0 setup, and obtain a client ID and secret. The client ID and secret can then be used to configure all Google Drive and Picasa plugins. Log in as an administrator and go to Administration > Site administration > Plugins > Repositories > Manage Repositories Activate the Picasa web album repository by selecting 'Enable and visible' in the dropdown menu Configure the Picasa web album repository by entering the client ID and secret Save changes Getting an image from the Picasa web album repository From the file picker, click on the Picasa web album link and a prompt to log in will appear. If it is your first time, the click the "Allow access" button to log in. Log into your Picasa account Allow access Browse your albums and select the photo you wish to use in Moodle. Repository capabilities There is just one capability, View picasa repository, which is allowed for the default authenticated user role. Source: docs.moodle.org/503/en/admin/repository/picasa — MoodleDocs (GPL) · Imported 2026-11-10. admin/repository/recent The recent files repository allows users quickly to locate files they uploaded previously. 1 Using Recent files 2 Recent files repository settings 3 Disabling Recent files 4 Repository capabilities 5 FAQ 5.1 I can't see all my uploaded files in Recent files Using Recent files Recent files can be accessed anywhere the file picker is available. However... Recent files are context-sensitive -that is to say - you will only see the type of file Moodle thinks you want to upload. Example 1: A user clicks the image icon in the text editor to upload an image already used in a different course. The Recent files repository will only show image files even though the user might have uploaded files of other types previously. Example 2: A user clicks the Moodle media icon to upload a sound file already used in a different course. The Recent files repository will only show media files even though the user might have uploaded files of other types previously. Recent files repository settings In Site Administration > Plugins > Repositories > Recent Files you can set Number of recent files - if left blank, the last 50 files are displayed. Time limit - to only display files within the specified time e.g. 2 weeks. Disabling Recent files Recent files is enabled by default but can be disabled by the administrator if required. Go to Site Administration > Plugins > Repositories > Manage Repositories. Change the drop down next to Recent files from "Enabled and Visible" to "Disabled". Repository capabilities There is just one capability, View recent files, which is allowed for the default authenticated user role. FAQ I can't see all my uploaded files in Recent files This is probably due to the place where you are accessing Recent files, as explained above. Source: docs.moodle.org/503/en/admin/repository/recent — MoodleDocs (GPL) · Imported 2026-11-10. admin/repository/s3 The Amazon S3 repository enables users to copy files from Amazon S3 into Moodle. 1 How to set up Moodle with Amazon S3 1.1 Set up Amazon S3 1.2 Enabling Amazon S3 in Moodle 2 Repository capabilities 3 See also How to set up Moodle with Amazon S3 Set up Amazon S3 You need to set up an account with Amazon Web Services and activate a Simple Storage Service (S3) instance. You will also need to set up private and public access keys so that your Moodle can be authenticated to access the files. Enabling Amazon S3 in Moodle Go to Administration > Site administration > Plugins > Repositories > Manage Repositories and enable the Amazon S3 repository. In the Amazon S3 settings, enter the access key and secret key as generated by your Amazon S3 account. Click the Save button. Optional: In Moodle 2.9 onwards you can specify an Amazon S3 endpoint. s3.amazonaws.com is for US-hosted S3 repositories; for European repositories the endpoint is s3-eu-west-1.amazonaws.com. Repository capabilities There is just one capability, View amazon s3 repository, which is allowed for the default authenticated user role. See also Using Moodle forum discussions: Streaming video files from Amazon S3 About Amazon Simple Storage Service (Amazon S3) Source: docs.moodle.org/503/en/admin/repository/s3 — MoodleDocs (GPL) · Imported 2026-11-10. admin/repository/skydrive 1 About the Microsoft OneDrive repository 2 Enabling the OneDrive repository 3 Access controlled links 4 Repository capabilities 5 See also About the Microsoft OneDrive repository The Microsoft OneDrive repository allows you to access your documents from Microsoft OneDrive within Moodle. As well as adding basic files, the OneDrive repository link allows you to access your OneDrive live directly from the configuration icon. The first time you access the OneDrive repository, you will be prompted to agree to connect. Once you have agreed, you can then log in, view and use your files. Enabling the OneDrive repository To use the OneDrive repository, an administrator must first create a Microsoft OAuth 2 service (a new requirement in Moodle 3.3 onwards). Go to 'OAuth 2 services' in Site administration - Server and click the button to create a new Microsoft service. Follow the instructions in OAuth 2 Microsoft service and obtain a client ID and secret. Enter the client ID and secret and save changes. Go to 'Manage repositories' in Site administration and enable the OneDrive repository. On the OneDrive configuration page, make sure that Microsoft is selected as the OAuth 2 service then save changes. Note: OneDrive requires that requests are delivered over SSL - this means that the OneDrive repository will not work if your site is not running over HTTPS. Access controlled links Students may submit files from OneDrive as 'access controlled links' in assignments. Once submitted, the student may no longer change them, but the teacher is allowed to edit them. Teachers may display files from OneDrive as 'access controlled links'. The teacher can then continue updating the files, but students can only view them. To enable this feature, ensure that: A system account has been connected in OAuth 2 services in Site administration. This account will own and control access to files submitted by students and teachers. Teachers will be able to edit the files but students will not. This should be a dedicated account for this purpose. "Supported files" is set to "Internal and External" . "Default return type" is set to "External (only links stored in Moodle)". Repository capabilities There is just one capability associated with this repository: View OneDrive repository. See also OAuth 2 authentication for enabling users to log in to Moodle with their Microsoft account Source: docs.moodle.org/503/en/admin/repository/skydrive — MoodleDocs (GPL) · Imported 2026-11-10. admin/repository/upload The Upload a file repository enables users to browse and upload files from their computer into Moodle. Recently uploaded files may be accessed by clicking on the recent files link in the file picker. Repository capabilities There is just one capability, Use uploading in file picker, which is allowed for the default authenticated user role. Source: docs.moodle.org/503/en/admin/repository/upload — MoodleDocs (GPL) · Imported 2026-11-10. admin/repository/url The URL downloader repository enables users to enter the URL of an image (any type e.g. png, jpg) for copying into Moodle. It may also be used to obtain all images from a web page by entering the web page address. It's useful when you need to get a larger file to your course, as you don't need to save the file on your computer then upload it to Moodle - instead you simply ask Moodle to fetch it directly. Searching the URL downloader The search results Repository capabilities There is just one capability, Use URL downloader in file picker, which is allowed for the default authenticated user role. Source: docs.moodle.org/503/en/admin/repository/url — MoodleDocs (GPL) · Imported 2026-11-10. admin/repository/user 1 The private files area 2 Private files management 2.1 Bulk delete private files 3 Emailing private files as an attachment 4 Making an alias/shortcut to a file in the private files area 5 Private files size limit 6 Checking space used by Private files 7 Preventing access to Private files 8 Private files capabilities The private files area Each user has a private files area for uploading and managing a set of files. If enabled by the administrator, users can also email files to their private files area. Load video YouTube YouTube might collect personal data. Privacy Policy Private files The private files area can be accessed from User menu top right or, if added, from the My private files block. If the private files repository is enabled by a site admin, it is available as a source within the filepicker when selecting files to use in a course. Private files management To add a file to your private files area Click Private files from your User menu. The file manager will appear. If desired, create a folder for your file(s) Click on the Add button to upload from the File picker or drag and drop from your desktop. It will look like the files are already there, but they aren't until you do the next step! Click the 'Save changes' button Once uploaded, files will appear as thumbnails. Clicking the icons top right will display them in table or list view as an alternative. Bulk delete private files When in list view, it is possible to select and bulk delete private files, rather than removing them individually. Bulk delete private files Emailing private files as an attachment This requires the administrator to have enabled incoming mail processing in Site administration>Server>Incoming mail configuration>Mail settings and Email to private files in Site administration>Server>Incoming mail configuration>Message handlers. When these settings are enabled, users will see an email address in their private files screen: This is the email address to which the email including the attached file should be sent. It will appear after cron in the user's private files after cron has run. For a demonstration of emailing to private files, watch the Usability screencast from Moodle HQ, starting at 1m8s. Making an alias/shortcut to a file in the private files area If a file is uploaded into your private files area, it is possible when using it elsewhere on Moodle to select it as an alias/shortcut. This means that if you update the file in your private files area, it will automatically update elsewhere on Moodle. See Working with files for more information. Private files size limit The size limit for each user's private files area is set by a site administrator in 'Private files space' (userquota) in Site administration > Security > Site security settings. Checking space used by Private files Non-admin users such as students and teachers see a message informing them how much space they have used when they upload a file to their Private files See the discussion: How do you check space used by Private files? to see how, as an admin you can see private files usage on your site. Preventing access to Private files If you don't wish to use private files on your site, you can prevent access as follows: Log in as an admin and go to Site administration > Plugins > Repositories > Manage repositories and disable the Private files repository. Go to Site administration > Users > Permissions > Define Roles and edit the authenticated user role. Unset the capabilities moodle/user:manageownfiles and repository/user:view and save changes. If you want teachers to be able to access private files but not students, then in addition to the above steps Go to Site administration > Users > Permissions > Define Roles and create a new role to be assigned in the system context. Allow the capabilities moodle/user:manageownfiles and repository/user:view and save changes. Assign teachers this new role as a system role. Private files capabilities Manage files in own private file area View user private files Source: docs.moodle.org/503/en/admin/repository/user — MoodleDocs (GPL) · Imported 2026-11-10. admin/repository/webdav Web-based Distributed Authoring and Versioning (WebDAV) is a set of methods based on the Hypertext Transfer Protocol (HTTP) that facilitates collaboration between users in editing and managing documents and files stored on World Wide Web servers. A WebDAV repository can be enabled by a site administrator in Administration > Site administration > Plugins > Repositories > Manage repositories. 1 WebDAV configuration 1.1 Options 2 Configuring WebDAV on Microsoft Windows Server 2003 R2 (Service Pack 2), IIS V6.0 2.1 Configure Windows Server 2003 2.1.1 Install and Enable WebDAV on the Server 2.2 Configure IIS 2.2.1 Create New Virtual Directory 2.2.2 Configuring Virtual Directory Properties 2.3 Testing WebDAV on Windows XP 3 Repository permissions 4 See also WebDAV configuration After enabling the WebDAV repository, a repository instance can be created in Administration > Site administration > Plugins > Repositories > WebDAV repository. Options WebDAV type: Choose from HTTP or HTTPS connection WebDAV server: The server name WebDAV path: The path to webdav directory Authentication: We currently only support HTTP Basic Authentication WebDAV server port: The webdav server port WebDAV server user: HTTP Basic authentication username WebDAV server password: HTTP Basic authentication password For example, if you are going to add a webdav server at http://webdavserver.tld/path/to/dir, you should use following options: WebDAV type: HTTP WebDAV Server: webdavserver.tld Configuring WebDAV on Microsoft Windows Server 2003 R2 (Service Pack 2), IIS V6.0 Configure Windows Server 2003 First we need to install WebDAV on the server. Note: when you promote a basic Windows Server 2003 installation to an application server, it installs various IIS 6 components but WebDAV isn't one of them. Install and Enable WebDAV on the Server To install WebDAV on the IIS 6 machine, use Add or Remove Programs in Control Panel and run the Windows Components Wizard. You can find WebDAV under Application Server -> Internet Information Services -> World Wide Web Service -> WebDAV Publishing. Once WebDAV is installed it needs to be enabled. Check the WebDAV option under the Web Service Extensions node in IIS Manager. Configure IIS Configuring a new virtual directory in IIS is a two-step process: Create a new virtual directory using the Virtual Directory wizard Configure the access permissions on the new virtual directory Create New Virtual Directory Open IIS and right-click on your Moodle website. Select New -> Virtual Directory... from the pop-up menu. Select New -> Virtual directory... from the pop-up menu. The Create New Virtual Directory Wizard is displayed. Call the new virtual directory Moodledata. Specify the path to the Moodledata directory. Ensure the new virtual directory has Read, Write and Browse permissions. Press the Finish button to create the new virtual directory. Configuring Virtual Directory Properties Right-click on the new virtual directory and select Properties from the pop-up menu. Ensure that Read, Write, Directory browsing, and Log visits are checked. Ensure Index this resource is unchecked. Click on the Directory Security tab and press the Authentication and access control Edit... button Authenticated access configuration will depend on your needs. Basic access will require you to uncheck Enable anonymous access and check Basic authentication (password is sent in clear text). You may get a warning about security: Your new virtual directory is ready for testing. Testing WebDAV on Windows XP WebDAV needs to be enabled on any client machines that will be used to create and manage content for Moodle. Windows XP has a built-in WebDAV client service that needs to be enabled: Open the Services console under Administrative Tools and find the WebClient service. Double-click on this service to open its Properties sheet. Change the Startup Type to Automatic, then click the Start button to start the service. Note: Internet Explorer 8.0 no longer supports web folders. See this blog post from David Conner for details. Instead, you will need to map a network drive (instructions on mapping a network drive are also given in David's blog post). WebDAV path: /path/to/dir/ Repository permissions This repository is accessible by default to administrators, course creators, teachers, editing teachers and managers, but not to guests or students. This capability can be changed to control access to users with specific roles. See also MDL-22663 Source: docs.moodle.org/503/en/admin/repository/webdav — MoodleDocs (GPL) · Imported 2026-11-10. admin/repository/wikimedia The Wikimedia repository enables a user to search Wikimedia and copy a selected file into Moodle. When a file is chosen, Moodle displays the image dimensions, license, author, last modified date (and file size if it is smaller than the maximum dimension specified). Searching the Wikimedia respository The search results Image details are displayed Repository capabilities There is just one capability, View wikimedia repository, which is allowed for the default authenticated user role. Source: docs.moodle.org/503/en/admin/repository/wikimedia — MoodleDocs (GPL) · Imported 2026-11-10. admin/repository/youtube 1 The YouTube repository 2 Enabling the YouTube repository 3 Searching for and embedding a video from YouTube 4 Repository capabilities 5 FAQ 5.1 The YouTube repository is enabled but I still can't see the YouTube option in the file picker The YouTube repository The YouTube repository allows users easily to embed videos from YouTube. It is disabled by default on new installs because it requires an API key. Enabling the YouTube repository Click the Manage repositories link from Site administration. Select from the drop down next to YouTube "Enabled and visible". Click on "Settings" If desired, give the repository a name. You don't have to; it is OK to leave it blank. Click the Google API link which will take you to https://developers.google.com/youtube/v3/getting-started (Note that you will need a Google account to proceed.) When you have created an account or signed in with an existing account, click https://console.developers.google.com Click the plus sign 'Enable API' at the top of the page: Click 'YouTube data API' Click the Enable link (if not already enabled): Click Credentials in the column on the left and then click the arrow by the blue Credentials link and choose API You will be given an API code which you can copy: Paste this into the API key box in your Moodle site (Repositories>Youtube) and save. The same API key may be used to configure the Youtube block. Searching for and embedding a video from YouTube YouTube videos can be searched for and embedded anywhere there is the text editor, for example a label or a page. Before this works, you must enable the multimedia filters under Administration > Site administration/Plugins/Filters/Manage Filters. Set Multimedia Plugins to "On" and make sure YouTube is selected under Settings (it should be by default). Within a course you must ensure in Course administration > Filters that multimedia are ON. Click the filmstrip, "Moodle media icon" in the editor: Click "Browse repositories" The file picker will appear with YouTube videos as an option. Click it and a search box will appear. You can search by relevance, date, rating or view count. Click the "Search" button when you are ready. Your search results will appear as video thumbnails. Searching YouTube videos The search results Click on the one you want to select it.* Rename if desired; add the author and license if needed and click "Insert media" DO NOT WORRY IF YOUR VIDEO NO LONGER SHOWS! You will just get a blue text link at first: Save it and then it will display.If it still displays as a text link after saving, make sure you have enabled the Multimedia filter as instructed at the top of this page. Repository capabilities There is just one capability, Use YouTube in file picker, which is allowed for the default authenticated user role. FAQ The YouTube repository is enabled but I still can't see the YouTube option in the file picker Are you sure you are working with the text editor? The YouTube option allows you to search for and embed YouTube videos into the editor in places such as labels or pages. You won't see it simply by clicking the "add" button when uploading a file, for example. Source: docs.moodle.org/503/en/admin/repository/youtube — MoodleDocs (GPL) · Imported 2026-11-10. admin/repositoryinstance 1 Enabling repositories 2 Vocabulary 3 Common repository settings 3.1 Cache expire 3.2 Timeout settings 3.2.1 Get file timeout 3.2.2 Sync file timeout 3.2.3 Sync image timeout 3.3 Allow external links 4 Repository capabilities Enabling repositories Repositories can be enabled by an administrator in Site administration > Plugins > Repositories > Manage repositories. A repository plugin may be set to one of three possible statuses: "Enabled and visible" means available for use in the File picker "Enabled and hidden" means not available in the File picker "Disabled" means not available for use and if content has been added to your site you will be given the following message: Are you sure you want to remove this repository plugin, its options and all of its instances - [Repository Name here]? If you choose "Continue and download", file references to external contents will be downloaded to Moodle. This could take a long time to process. With options to Continue, Continue and download, or Cancel. The order in which repositories are shown in the file picker may be set using the up and down arrows. Vocabulary Repository plugin: it is also called a repository type. It can be named Box, Flickr, Mahara, Youtube... Adding a plugin allow users to create instances of this plugin. Only instances are displayed into the file picker. Type only exist in order to let a Moodle administrator to deactivate/delete all instances of a type in one click. Repository instance: An instance is displayed into the file picker and it is the access point to an external repository. An instance can have specific settings (for example be linked to a personal account). First case: when you add the plugin, an instance is automatically created and can not be edited. The Moodle administrator cannot change the instance name. The instance name displayed into the file picker will be exactly the same as the plugin name. For example, Youtube, Box... Second case: the plugin allow the Moodle administrator to add multiple instances. An instance has a name for example Flickr Public access to Martin account, Martin's Mahara... For this second case it is important to identify two different kind of instances: Common instances: The instances set by Moodle administrator in these same administration pages will be available into any file picker. Private instance: A teacher can set some instances available only for a course, and a user can set some instances only available for himself. In order to set instances for a course the teacher will go to the course page, and in order to set instances for a personal use, a user will go on his profile page. An administrator cannot add/edit private instances from the administration pages. Common repository settings Common repository settings can be set by an administrator in Site administration > Plugins > Repositories > Common Repository settings: Cache expire You can specify how long in seconds file listings are cached locally when browsing external repositories. Timeout settings If users are reporting timeouts when using repositories, an admin can increase the timeout for downloading or synchronising files. Get file timeout Timeout in seconds for downloading an external file into Moodle. Defaults to 30. Sync file timeout Timeout in seconds for syncronising the external file size. Defaults to 1. Sync image timeout Timeout in seconds for downloading an image file from external repository during syncronisation. Defaults to 3. Allow external links With some repositories such as Flickr and Wikimedia, users can have the choice whether to copy the media into Moodle (the preferred solution) or to make a link to it instead. Defaults to Yes. Repository capabilities Authenticated user role: View Embedded files View Box repository View a Dropbox folder View Flickr repository Use Flickr public repository in file picker View Google Drive repository View the Merlot repository View Picasa repository View Recent files View Amazon s3 repository View Microsoft OneDrive repository Use uploading in file picker Use URL downloader in file picker View use Private files View Wikimedia repository Use YouTube in file picker Manager, Course creator, Teacher, Non-editing teacher Roles: View File system repository View Server repository View WebDav repository Source: docs.moodle.org/503/en/admin/repositoryinstance — MoodleDocs (GPL) · Imported 2026-11-10. admin/setting/commonfiltersettings 1 Site administration settings 1.1 Common filter settings 1.2 File activity module setting 2 See also Site administration settings Common filter settings A site administrator can change the following settings in Settings > Site administration > Plugins > Filters > Common filter settings: Text cache lifetime - Text filters can take a lot of processor power to analyse. If you have a large number of courses, the filters may slow your system. The text cache lifetime determines how often the filters run. If you set them to run too frequently, your system may slow down. If you set them to run too infrequently, analysing new content will take too long and users will notice. You should experiment to find the correct amount of time for your server. Filter uploaded files - This setting enables uploaded files (HTML and text only) to be processed by the filters system. You can choose to have none, only HTML or all files filtered. Filter match once per page - This setting affects the glossary, activity and resource linking filters. If set to yes, only the first match on the complete page will be converted to a link. All others will be ignored. Filter match once per text - This setting affects the glossary, activity and resource linking filters. If set to yes, only the first match in a discrete block of text will be converted to a link. All others in that text block will be ignored. File activity module setting A site administrator can change the following setting in Administration > Site administration > Plugins > Activity modules > File: Use filters on file content - This applies to content in HTML and XHTML pages. See also Managing filters Source: docs.moodle.org/503/en/admin/setting/commonfiltersettings — MoodleDocs (GPL) · Imported 2026-11-10. admin/setting/dataformatsettings An administrator can enable / disable and reorder data formats in Site administration > Plugins > Data formats > Manage data formats for use when downloading data such as logs, quiz results and feedback responses. Download data dropdown menu Default data formats enabled are: Comma separated values (.csv) Microsoft Excel (.xlsx) HTML table Javascript Object Notation (.json) OpenDocument (.ods) By default, .csv is at the top of the list, and so appears first when selecting a download format. See also MDL-51603 Source: docs.moodle.org/503/en/admin/setting/dataformatsettings — MoodleDocs (GPL) · Imported 2026-11-10. admin/setting/downloadcoursecontent 1 Download course content 2 For students 3 For teachers 4 For administrators 5 Capabilities Download course content Content from the File, Folder, Page and Text and media area can be downloaded if enabled site wide and in individual courses. For students If the feature is made available by the administrator and enabled in a course by the teacher, then students and other users with the capability to download course content will see the option 'Download course content' in the More menu. Clicking the button will display a pop-up and link to a zipped file. For teachers If the features is made available by the administrator, then course teachers see an option Enable download course content in the course settings. They can then choose Yes to make content downloadable, or No if they prefer not to. For administrators Download course content can be made available from Site administration > Courses > Download course content. Here, the admin can also specify the maximum size of files which may be downloaded. Optionally, from Site administration > Courses > Course default settings, the admin can make the feature enabled by default in courses. Capabilities Configure download course content - allowed for the default roles of manager and teacher. Download course content - allowed for the default roles of manager, teacher, non-editing teacher and student. Source: docs.moodle.org/503/en/admin/setting/downloadcoursecontent — MoodleDocs (GPL) · Imported 2026-11-10. admin/setting/fileconvertergoogledrive Files submitted by students in assignments may be converted to PDF files with the Google Drive converter. Teachers can then annotate directly on the submissions. This option provides a useful alternative for those organisations who are unable to install Unoconv for document conversion. Using the Google Drive converter To enabling the Google Drive converter, an admin must Set up and configure the OAuth 2 Google service. Connect the Google service to a system account. Go to Site administration > Server > OAuth 2 services Click on the icon under "System account connected" column if there is a red X for Google. Go to 'Document converters' in the Site administration and enable the Google Drive converter. In the settings, select Google as the OAuth 2 service, then save changes. A link is available to test the document conversion is working correctly. If you obtain a message saying that the system account is not linked, go to the OAuth 2 Google service settings and re-connect the Google service to the system account. See also Privacy concerns using the Google Document Converter forum discussion Source: docs.moodle.org/503/en/admin/setting/fileconvertergoogledrive — MoodleDocs (GPL) · Imported 2026-11-10. admin/setting/fileconverterplugins Plugins may be installed to convert uploaded assignment submissions to PDF format for teachers to annotate. The list of available converters may be accessed from the Plugins section of Site administration. There are currently two document converters available as standard plugins: Unoconv requires Unoconv to be installed on a server. However, Unoconv is now deprecated. Google Drive converter (in 3.3 onwards) requires the OAuth 2 Google service to be enabled. See also Google Document Converter Slooooooooow forum discussion Source: docs.moodle.org/503/en/admin/setting/fileconverterplugins — MoodleDocs (GPL) · Imported 2026-11-10. admin/setting/fileconverterunoconv Note: Unoconv is deprecated. There is rewrite of Unoconv called "Unoserver" but Moodle does not currently support it. See MDL-75066 1 What is unoconv? 2 Installing unoconv on Linux 2.1 Ubuntu 18.04 LTS 2.2 Ubuntu 22.04 LTS 2.3 Ubuntu 16.04 LTS 2.4 Ubuntu 14.04 LTS 2.5 CentOS / RedHat 3 Installing unoconv on OS X 4 Installing unoconv on Windows 5 Run a unoconv listener 6 Offload processing to a different server 7 Additional resources 8 See also What is unoconv? "unoconv" is a command line program that is used to convert between different office document file formats. It uses an instance of LibreOffice to do the conversion and is used by the Assignment activity to convert documents to pdf so that they can be annotated. If unoconv is not installed - the only impact is that the assignment activities will only allow annotations when students upload a pdf document. The steps required to install unoconv are different depending on the operating system that you have installed Moodle on. Installing unoconv on Linux The required version of unoconv is at least 0.7. Depending on your flavour of linux, this may be available in your package manager and you can install it directly with: Ubuntu 18.04 LTS apt-get install unoconv mkdir /var/www/.config chown www-data:www-data /var/www/.config Ubuntu 22.04 LTS You will need to install Python 3, and note that the unoconv will only support Python up to 3.11. sudo apt install python3 To download the latest version of unoconv (0.8.2): cd /opt sudo git clone https://github.com/unoconv/unoconv.git sudo nano /opt/unoconv/unoconv Change the first line of code by adding the number 3 to the Python version, as per the example below: #!/usr/bin/env python3 Permissions and run link: sudo chmod ugo+x /opt/unoconv/unoconv sudo ln -s /opt/unoconv/unoconv /usr/bin/ Now we need LibreOffice installed: sudo add-apt-repository ppa:libreoffice/ppa sudo apt install libreoffice -y Production servers should consider running unoconv in listener mode, see Installing unoconv#Run a unoconv listener or follow directions below: sudo nano /etc/systemd/system/unoconv.service And then copy and paste the following configuration into it: [Unit] Description=Unoconv listener for document conversions Documentation=https://github.com/dagwieers/unoconv After=network.target remote-fs.target nss-lookup.target [Service] Type=simple ExecStart=/usr/bin/unoconv --listener [Install] WantedBy=multi-user.target And then enable and start the above service: sudo systemctl enable unoconv.service sudo systemctl start unoconv.service Ubuntu 16.04 LTS apt-get install unoconv If your package manager contains an older version of the package, you will have to find a newer version and install it manually (Debian Testing). Unoconv itself is just a python script, so it has few dependencies. Potential problems: On some systems the apache user home directory is set to a non existent folder. This can cause unoconv to fail. There are 2 solutions to this - one is to make a (writable) home directory for the apache user (like /home/www-data). The other is to run a unoconv listener (described below) as another user other than the apache user (someone with a valid, writable home directory). If you are still running 14.04LTS then unoconv won't work as shipped. This might not be the most efficient route but it worked by first installing unoconv (version 0.6) from the package manager as above. You will then need to grab unoconv 0.7 from Github (https://github.com/dagwieers/unoconv), then upgrade to the latest libreoffice using the PPA (https://launchpad.net/~libreoffice/+archive/ubuntu/ppa). Point moodle at the Github version of unoconv. You need to modify the Python unoconv file by changing 'python' in the first line to 'python3'. You also need to change the permissions on the directory /var/www so that the user www-data can write to it (www-data needs to write to its home directory which it cannot do by default). On Debian Stable, the cleanest method to install unoconv is using Jessie-backports. First, enable backports repo line in /etc/apt/sources.list: #### Jessie-backports #### deb http://ftp.debian.org/debian jessie-backports main Then, update and install unoconv from jessie-backports: apt-get update apt-get install -t jessie-backports unoconv The package will bring all necessary dependencies for you. Ubuntu 14.04 LTS 1) Navigate to opt directory cd /opt 2) Download unoconv sudo wget https://raw.githubusercontent.com/dagwieers/unoconv/master/unoconv 3) Modify the Python unoconv file by changing 'python' in the first line to 'python3' sudo nano /opt/unoconv e.g. #!/usr/bin/env python3 4) Make unoconv executable sudo chmod ugo+x /opt/unoconv 5) Add LibreOffice PPA to your system and install the latest version sudo add-apt-repository ppa:libreoffice/ppa sudo apt-get update sudo apt-get install libreoffice 6) Change permissions so apache can write to its home directory sudo chown www-data /var/www 7) From your browser navigate to Site administration > Server > System paths and add the path to unoconv /opt/unoconv Note: if you would like to preserve the default path add a symbolic link to /usr/bin: sudo ln -s /opt/unoconv /usr/bin/ 8) Navigate to Site administration > Plugins > Activity modules > Assignment > Feedback plugins > Annotate PDF > Test unoconv path You should see: "The unoconv path appears to be properly configured." Download the converted pdf test file. (if the PDF fails to load ensure that www-data can write to its home directory: /var/www) CentOS / RedHat Just before you start, you might like to consider installing the latest LibreOffice 6.3.2 directly from RPM packages, that are not part of the distribution you are using. As of nov-2016, CentOS and RedHat 7.2 comes with OpenOffice 4.3 . so if you are not interested in using this version and would like to install latest 6.3 independent LibreOffice 6.3, please remove any openoffice packages you might have on your OS by issuing: yum remove openoffice* libreoffice* It is recommended to chose your localized libreoffice version for better document conversions. yum install libreoffice libreoffice-pyuno git clone https://github.com/dagwieers/unoconv.git # copy cp unoconv/unoconv /usr/bin # or link unoconv to /usr/bin ln -s unoconv/unoconv /usr/bin/unoconv Note: depends on what version you are installing, openoffice or libreoffice, make sure you installed the *-pyuno package. (the headless package is already compiled into the core) Make sure it is properly configured: http://your-moodle/admin/search.php?query=unoconv Production servers should consider running unoconv in listener mode, see Installing unoconv#Run a unoconv listener or follow directions bellow vi /etc/systemd/system/unoconv.service And then copy and paste the following configuration into it: [Unit] Description=Unoconv listener for document conversions Documentation=https://github.com/dagwieers/unoconv After=network.target remote-fs.target nss-lookup.target [Service] Type=simple Environment="UNO_PATH=/usr/lib64/libreoffice/program" ExecStart=/usr/bin/unoconv --listener [Install] WantedBy=multi-user.target And then enable and start the above service systemctl enable unoconv.service systemctl start unoconv.service If your selinux is enable yous should set #setsebool -P httpd_execmem on Installing unoconv on OS X Download and install LibreOffice for Mac. Unfortunately - newer versions of LibreOffice are not currently compatible with unoconv for mac and you will have to install LibreOffice 4.2 (Direct download link - https://downloadarchive.documentfoundation.org/libreoffice/old/4.2.5.2/mac/x86_64/LibreOffice_4.2.5.2_MacOS_x86-64.dmg). Get the latest version of the unoconv python script. One way to do this is with http://brew.sh/ brew. brew install unoconv If you haven't done it already - install ghostscript. One way to install ghostscript is also with http://brew.sh/ brew brew install ghostscript Set the paths to unoconv and ghostscript in Moodle (Site administration > Server > System paths). If you used brew, they will both be installed to /usr/local/bin. LibreOffice needs write access to the current users home directory to create some temporary files. When unoconv is run as the webserver user (_www) it does not normally have this permission. There are some ways to get around this - one way is just to give the "_www" user write access to /Library/WebServer. Another solution is to convince LibreOffice that this users home directory is somewhere else. This can be done by inserting this code into the top of the unoconv python script. Code to insert: # Set home to a writable folder. os.environ['HOME'] = '/tmp/' This needs to be inserted at line 36 immediately after the line "exitcode = 0" Installing unoconv on Windows Download and install LibreOffice for Windows. Open Office will work just as well, but the documentation for unonconv is set to Libre Office. Download the latest version of the unoconv script from https://github.com/dagwieers/unoconv/releases (download the zip version). From the downloaded zip file - extract the one file unoconv-0.7\unoconv (no file extension). This is the unoconv script - none of the other files in the package are required. Rename the downloaded script to unoconv.py and copy it to a folder in either C:\Program Files or C:\Program Files (x86). Create a batch file in the same folder as unoconv.py name it something like unoconv.bat, it must be a batch file, with these contents: @"C:\Program Files\LibreOffice\program\python.exe" c:\unoconv\unoconv.py %* or: @"C:\Program Files\OpenOffice\program\python.exe" c:\unoconv\unoconv.py %* Next, you have to Set paths in Moodle. Login as admin and go to Site administration > Server > System paths Set: Path to Ghostscript (pathtogs) to C:\Program Files\gs\gsversion\bin\gswin64c.exe. Do not use gswin32.exe or gswin64.exe, these are not command line programs - use gswin32c.exe or gswin64c.exe. Set: Path to Python (pathtopython) to C:\Program Files (x86)\OpenOffice\program\python.exe or C:\Program Files (x86)\LibreOffice\program\python.exe. Identify in the path whichever program you use and include the full exe name for both Ghostscript and Python. Save the pathto statements and a green tick should appear if Moodle is communicating with the required files. Go to Site administration > Plugins > Document converters and enable Unoconv then select Settings Enter the path statement to Path to unoconv document converter: C:\Program Files (x86)\unoconv\unoconv.bat. Include the full name of the .bat file. Test ghostscript and unoconv are working correctly in the admin test pages Site administration > Plugins > Activity modules > Assignment > Feedback plugins > Annotate PDF. Run a unoconv listener Unoconv utilises a client/server process when converting documents. By default, when there is no running server process - each time unoconv runs it will start a server process, send its request and shut down the server process when the request is complete. The drawback of this mode is that if 2 requests are submitted simultaneously - this can cause the first request to shutdown the server process when the second request is still in progress - and the second conversion request fails. A more robust way to configure unoconv is to start a server process at boot time, and/or run a script to monitor it and restart it if it crashes. To start a unoconv listener at boot time - you need a start up script. Different operating systems and Linux distributions use different startup scripts - but here are some examples of startup scripts for different systems. Upstart script for Ubuntu based systems Launchd script for OS X Init script for Debian Init script for CentOS/RedHat 6.x SystemD service script for CentOS/RedHat 7.x Offload processing to a different server Processing office documents can put increased load on your webserver, which may impact on the responsiveness of your site. If you are installing unoconv on a large site you may want to consider running unoconv on a server that is not also serving web requests. How to do this: Install unoconv on each webservers and the remote server following the installation instructions above. Make sure unoconv is started at boot time on the remote server with the "--listener" argument and is monitored and restarted if it exits (see Debian init script for an example of how to do this). By default, unoconv will only listen on localhost (127.0.0.1): if you want to connect to the listener process from another server, you need to start the unoconv listener process with the "--server" argument too! An example command for starting a listener on a remote server (0.0.0.0 listens on all interfaces): unoconv --listener --server 0.0.0.0 --port 2002 Open the firewall port 2002 between the moodle webservers and the machine running unoconv. Share the moodle data root between the webservers and the machine running unoconv. This folder must be mounted at the same path on all servers. Install a wrapper for unoconv on the webservers that forwards the requests to the remote server. Example: #!/bin/bash # Wrapper script for unoconv to forward processing. # Install to /usr/bin/unoconv-remote with 755 permissions /usr/bin/unoconv --server= "$@" Configure the path to unoconv in the Moodle admin settings to point to this wrapper script. Additional resources GitHub dagwieers/unoconv has additional information on installation of unoconv and troubleshooting tips. See also Is the unoconv installation a security risk? forum discussion Source: docs.moodle.org/503/en/admin/setting/fileconverterunoconv — MoodleDocs (GPL) · Imported 2026-11-10. admin/setting/filtersettingcensor Note: The word censorship filter has been removed from new installations of Moodle 4.1. The code for the Word censorship filter is currently available from the Plugins directory. The word censorship filter enables certain user-selected words to be "blacked out" in the flow of any text submitted within a course. The primary use is for censoring obscene or other unwanted words entered by learners in activities like Forums and Wikis. 1 Custom list of censored Words 2 Default censored Words 3 Tips and Tricks 4 See also Custom list of censored Words The word censorship settings page Administration > Site administration > Plugins > Word censorship allows a site administrator to edit a custom list of words (bad words) to be censored within your Moodle installation. To avoid inadvertently causing offence, there is no default bad word list on the Word censorship settings page. If the custom list is empty, the default list from the language pack will be used. Default censored Words The default bad word list is contained within the filter_censor.php file within each language pack installed on your Moodle site. To change the default bad word list go to Administration > Site administration > Language > Language Customization and check out the required language pack. Select the filter_censor.php file under the filters subheading from the strings list and click Show strings. Warning: You may find the content of this file offensive. Tips and Tricks If you would prefer not to display a custom list of censored words on the Word Censorship Settings page, customize the filter_censor.php file the language directly If you have multiple language packs installed and in use within your Moodle site, remember to edit each language pack and/or add custom censored words in all languages. See also Using Moodle filtering profanity forum discussion Source: docs.moodle.org/503/en/admin/setting/filtersettingcensor — MoodleDocs (GPL) · Imported 2026-11-10. admin/setting/filtersettingdisplayh5p The Display H5P filter converts URLs into embedded H5P content. If the filter is disabled, or if users attempt to add H5P content from a different source than specified in the site administration, the URLs will remain as links and not be displayed as embedded H5P content. Site administration settings The Display H5P filter must be enabled by an administrator via Site administration > Plugins > Filters. The list of URLs from which users can embed H5P content is specified in Site administration / Plugins / Filters / Display H5P. By default the list of allowed sources is empty. Course administration settings Within a course, the filter may be enabled or disabled from the Filters link from the cog icon top right in the Boost theme or from Course administration > Filters in the Classic theme. Source: docs.moodle.org/503/en/admin/setting/filtersettingdisplayh5p — MoodleDocs (GPL) · Imported 2026-11-10. admin/setting/filtersettingemoticon The filter Display emoticons as images converts emoticon (smiley) characters into images. Emoticons may be added using the insert menu Insert > Emojis... in the Text editor or by typing the emoticon characters e.g. :-). Insert Emojis option in Tiny editor Site administration settings Manage filters A site administrator can enable / disable the 'Display emoticons as images' filter site-wide in Administration > Site administration > Plugins > Filters > Manage filters. The 'Display emoticons as images' settings (Administration > Site administration > Plugins > Filters > Display emoticons as images) enable the site administrator to select which formats the filter is applied to. By default, the filter is applied to Moodle auto-format, HTML format and Markdown format. HTML settings A site administrator can customize the list of available emoticons in Administration > Site administration > Appearance > HTML settings. See Emoticon images for details. Source: docs.moodle.org/503/en/admin/setting/filtersettingemoticon — MoodleDocs (GPL) · Imported 2026-11-10. admin/setting/filtersettingfiltercensor Note: The word censorship filter has been removed from new installations of Moodle 4.1. The code for the Word censorship filter is currently available from the Plugins directory. The word censorship filter enables certain user-selected words to be "blacked out" in the flow of any text submitted within a course. The primary use is for censoring obscene or other unwanted words entered by learners in activities like Forums and Wikis. 1 Custom list of censored Words 2 Default censored Words 3 Tips and Tricks 4 See also Custom list of censored Words The word censorship settings page Administration > Site administration > Plugins > Word censorship allows a site administrator to edit a custom list of words (bad words) to be censored within your Moodle installation. To avoid inadvertently causing offence, there is no default bad word list on the Word censorship settings page. If the custom list is empty, the default list from the language pack will be used. Default censored Words The default bad word list is contained within the filter_censor.php file within each language pack installed on your Moodle site. To change the default bad word list go to Administration > Site administration > Language > Language Customization and check out the required language pack. Select the filter_censor.php file under the filters subheading from the strings list and click Show strings. Warning: You may find the content of this file offensive. Tips and Tricks If you would prefer not to display a custom list of censored words on the Word Censorship Settings page, customize the filter_censor.php file the language directly If you have multiple language packs installed and in use within your Moodle site, remember to edit each language pack and/or add custom censored words in all languages. See also Using Moodle filtering profanity forum discussion Source: docs.moodle.org/503/en/admin/setting/filtersettingfiltercensor — MoodleDocs (GPL) · Imported 2026-11-10. admin/setting/filtersettingfilteremoticon The filter Display emoticons as images converts emoticon (smiley) characters into images. Emoticons may be added using the insert menu Insert > Emojis... in the Text editor or by typing the emoticon characters e.g. :-). Insert Emojis option in Tiny editor Site administration settings Manage filters A site administrator can enable / disable the 'Display emoticons as images' filter site-wide in Administration > Site administration > Plugins > Filters > Manage filters. The 'Display emoticons as images' settings (Administration > Site administration > Plugins > Filters > Display emoticons as images) enable the site administrator to select which formats the filter is applied to. By default, the filter is applied to Moodle auto-format, HTML format and Markdown format. HTML settings A site administrator can customize the list of available emoticons in Administration > Site administration > Appearance > HTML settings. See Emoticon images for details. Source: docs.moodle.org/503/en/admin/setting/filtersettingfilteremoticon — MoodleDocs (GPL) · Imported 2026-11-10. admin/setting/filtersettingfiltermediaplugin The Multimedia plugins filter finds a link in text that points to a multimedia resource and replaces the link with an appropriate multimedia player code which can play the resource. The actual player resides on the user's computer. For example, a teacher may put a MP3 audio file as a resource in their course, or have a URL link to an external MP3 file. When the MP3 audio plugin has been turned on, the student will be able to play them using a media player on their computer. See also Media embedding. Site administration settings You can enable the multimedia plugins filter via Site administration > Plugins > Manage filters. You can enable or disable available media players via Site administration > Plugins > Manage media players. The default media player is VideoJS player. See also Multimedia plugins FAQ Video Audio Source: docs.moodle.org/503/en/admin/setting/filtersettingfiltermediaplugin — MoodleDocs (GPL) · Imported 2026-11-10. admin/setting/filtersettingfiltermultilang 1 Displaying text in multiple languages 2 Enabling the multi-language content filter 3 How to use in a course 3.1 Correct structure 3.2 Incorrect structure 4 How to use for assignment submission agreements 5 How it works internally 6 Common problems 7 The 'Restriction by language' additional plugin 8 The Multi-Language Content (v2) additional plugin and Multi-Language Content text editor plugins 9 The Multi-Lingual Content additional plugin 10 Any questions? 11 See also Displaying text in multiple languages The multi-language content filter enables resources to be created in multiple languages. When turned on, it looks for tags which indicate that a text contains multiple languages. Then it selects and outputs the text in the user's language (as set in their browser or in their preferences). Enabling the multi-language content filter An admin can enable the multi-language content filter as follows: Go to Site administration > Plugins > Filters > Manage filters and in the dropdown menu for multi-language content select 'On'. If headings are to be shown in multiple languages too, select 'Content and headings' in the 'Apply to' column. Go to Site administration > Plugins > Filters > Common filter settings and ensure that 'Filter navigation with system context' is turned on. Turning on 'Apply to' 'Content and headings' without also turning on the setting at Step 3. can significantly slow down your Moodle site. How to use in a course To use this feature first create your content in multiple languages (in the same resource). Then enclose each language block (aka multilang block) in the following tags: your_content_here your_content_in_other_language_here It is essential to be in the code editing mode (press [<>] in the HTML editor), when you enter these tags for them to work. Only spaces, tabs and enters can be used between the individual languages in the multilang block. It is important to ensure each multilang block is nested in the same parent element as the other related multilang blocks. Correct structure Each multilang block is nested together inside the parent element. your_content_here your_content_in_other_language_here Incorrect structure Each multilang block is nested in its own parent element. your_content_here your_content_in_other_language_here Note: If your site uses a child language pack (see Language packs for the list), then the first span tag must be the parent language. Otherwise, when a user using the child language views the text, it will not be in the correct language for them (as reported in MDL-55197). For example, if your site uses en_us then the en span tag (as parent language) must be first i.e. your_content_in English your_content_in_German_here How to use for assignment submission agreements With the filter enabled, go to Site administration > Plugins > Activity modules > Assignment > Assignment settings. In the submission statement, add (for example) This assignment is my own work, except where I have acknowledged the use of the works of other people. Ce devoir est le fruit de mon travail personnel, sauf aux endroits où l'utilisation d'oeuvre d'autres auteurs est clairement indiquée. How it works internally Filter first looks for multilang blocks in the text For each multilang block: If there are texts in the currently active language, print them Else, if there exists texts in the current parent language, print them Else, print the first language found in the text Text outside of multilang blocks will be shown always Common problems The multi-lang filter is not enabled. It can be enabled in 'Manage filters' in the Site administration'. Headings aren't displaying correctly - the multi-lang filter should be set to apply to content and headings in 'Manage filters' in the Site administration'. Extra characters between language span tags - editor might add or other tags, please review the html in source view If the course setting is "force" some language, you won't be able to change the displayed language. Extra spaces in language span tag The 'Restriction by language' additional plugin Restriction by language Language filters are great, but sometimes they can make your resources and activities very complex. The Restriction by language availability condition is an additional plugin that makes it easy to show an English resource only to English users and an activity in French only to French speaking students. The Multi-Language Content (v2) additional plugin and Multi-Language Content text editor plugins There is also an alternative multi-language content filter available called Multi-language Content (v2). This filter uses very simple non-HTML tags to mark multi-language blocks (makes it easier to create multi-language content), and can be used together with the Multi-Language Content TinyMCE plugin to make it even easier to create multi-language content directly on the text editor without using the HTML view mode. The Multi-Lingual Content additional plugin Multi-lingual Content is a more flexible version of the multilang filter. One of three possible choices can be selected by the filter admin setting: HTML syntax, Non HTML syntax or Both. If the non html syntax is chosen language block looks like: {mlang en}English{mlang}{mlang bg}Bulgarian{mlang}. In case of Html syntax, language block is a sequence of identical html tags with lang="XX" attributes span or div or any other. Any questions? Please post in the Languages forum on moodle.org. See also Language Custom menu items in Theme settings Is the official language filter the way to go? (What's your experience?) Translation of MOOC forum discussion and solution Source: docs.moodle.org/503/en/admin/setting/filtersettingfiltermultilang — MoodleDocs (GPL) · Imported 2026-11-10. admin/setting/filtersettingfiltertex The TeX Filter is a core Moodle filter intended to allow one to convert tex expressions into GIF, PNG or SVG images. The filter relies on some additional binaries to accomplish this for expressions contained between appropriate tokens. Where these binaries are not available, Moodle provides for a fallback through the use of Mimetex. Versions of MimeTex for Linux (glib2.3 32bit), Windows, Mac OS X and FreeBSD are included in the Moodle distribution. There are other technologies available for displaying Tex (see the section on Mathematics tools for a discussion.) Note: being based on binaries it requires the availability of three PHP program execution functions: exec, shell_exec and system. 1 Methods and Usage 2 MimeTeX 3 Compatability with MathJax 4 Site administration settings 4.1 Installing the binaries 4.2 LaTeX preamble 4.3 Transparent colour 4.4 Density 4.5 Path of latex binary 4.6 Path of dvips binary 4.7 Path of convert binary 4.8 Path of dvisvgm binary 4.9 Path of mimetex binary 5 Debugging TeX filter 6 See also Methods and Usage To avoid confusion you should note that the TeX filter has two separate methods for converting the TeX notation to images. The preferred method is a collection of three binaries that you are responsible for installing (if they are not already present, though many webhosts make these available) and configuring on your server. The filter settings page relates entirely to this method. If this fails for any reason the filter will fall back to a single binary - MimeTeX. A number of different builds are included in the Moodle distribution for popular operating systems, though Mimetex and its bigger brother, MathTex are easy enough to compile and install if you have systems administration experience. Before doing anything else, you need to go to Settings > Site administration > Plugins > Filters and activate the TeX Notation Filter. If you want to use the Algebra filter (another core filter) since the Algebra Filter is really only a "front end" to the Tex filter, you should also turn on the Algebra filter. For more information on the Algebra Filter see the Algebra filter. Once the filter is turned on and properly configured you can make use of it by including a TeX expression delimited by double-dollar signs. Example: $$ \sqrt{x + y} $$ If this does not display properly, see the information on debugging. MimeTeX Moodle may use a pre-built MimeTeX binary (located in the filters/tex directory) as a fallback if it can't properly access dvips, convert and latex binaries. There are a number of different versions for different operating systems. The TeX filter picks the appropriate binary for the detected host operating system (you will need to hack the script if your operating system is not included). Note that your web server needs to be set up with appropriate permissions for running binaries in that location. The MimeTeX manual is available but is arguably intended for persons with systems administration experience and does not specifically address the Moodle environment. You should only use MimeTeX if installing the full LaTeX system fails or the binaries are not available on your system. The results are not nearly as good. Compatability with MathJax In Moodle 2.8 onwards, the TeX Notation and MathJaxloader filter may be used in combination. If both filters are enabled on the page, images will be displayed first by the TeX notation filter, and the MathJax version of the TeX expression will replace a little while later when MathJax has finished loading and processing. If both filters are available, a teacher may decide which to use in an activity by enabling one and disabling the other. Site administration settings Location: TeX Notation settings link in Settings > Site administration > Plugins > Filters > Manage filters The TeX filter settings page are primarily intended to adjust the operation of the LaTeX renderer. The defaults for the three path settings are selected according to the detection of the operating system on which Moodle is running. These are simply suggested common values - Moodle does not check that the binaries actually exist at these locations. More recent versions of Moodle show a green tick or a red cross next to the path setting - this shows that the binary exists at that location (only). The settings have no effect on the operation of the MimeTex binary (used if any of these binaries are not found). Installing the binaries This depends on your platform, but for a typical install you are going to need a LaTeX implementation. On modern Linux implementations you should look for the 'texlive' package (e.g. apt-get install texlive) although a Windows version is available (see Tex Live). It is highly unlikely that you will have all these binaries as part of a standard install. If you cannot find texlive you may have to install LaTeX, Ghostscript and ImageMagick separately. While not endorsed by Moodle.org, a simple installation binary for Windows is MikTeX. For security reasons, you should ensure shell escape is disabled (shell_escape = f) in your LaTeX configuration (if is enabled, this will be set to "t"). This is to prevent the risk of users being able to execute external commands. Note that this is usually disabled by default. (If this is set to "p" i.e. restricted mode, a predefined set of commands are allowed, if this is the desired behaviour, be extremely careful which commands are allowed given all users will have access to these). The filter settings page will try to guess the most likely location for the binary files depending on the detected platform. If correct, green ticks will appear against each setting. If red crosses appear you will need to check and modify the settings as required. A simple check is made to establish if the binaries exist at the given paths. A tick or a cross is displayed alongside each as a result. Note that this does not check that the application actually works, just that it is there. Some systems supply the fonts as separate packages. If you are having problems make sure you have all the fonts you need installed. You may need to track down an 'extra' fonts package to get the required maths fonts. LaTeX preamble Enables the LaTeX preamble to be specified. The default should work for most users, but you may need to change it to support non-Latin character sets etc. Please see the LaTeX documentation for further details. Transparent colour This should be set to your normal text background colour. The default setting is #FFFFFF (i.e., white). Density This setting effects the size of the resulting image. The default setting is 120 pixels, and it produces an image of reasonable quality, but for some complicated equations, this still may not be enough. It may be that anything less is not going to produce an image of sufficient quality but the image size can be controlled by the TeX encoding when the page is rendered. Path of latex binary Path to standard latex binary. On Unix based systems it is normally "/usr/bin/latex". On a MacOS X, the path is "/usr/texbin/". In Windows, using MiKTeX, it is usually something like C:\texmf\miktex\bin\latex.exe Path of dvips binary Path to standard dvips binary - generally distributed as part of a LaTeX system. On Unix based systems it is normally "/usr/bin/dvips". On a MacOS X, the path is "/usr/texbin/". On Windows using MikTeX is usually something like C:\texmf\miktex\bin\dvips.exe Path of convert binary Path to standard convert binary. It is necessary to produce GIF or PNG images from using the latex and dvips binaries. This is distributed as part of the Ghostscript system, or ImageMagick in Linux. On Unix based systems it is normally "/usr/bin/convert". On a MacOS X, the path is "/usr/local/bin/". On a Windows-based PC the path is something like C:\Program Files\ImageMagick\convert.exe (for ImageMagick, but something else for GhostScript.) Path of dvisvgm binary This binary is used instead of convert to produce SVG images. This is distributed as part of TeXlive on Linux although it may be require the full or extra packages to be installed. On Unix based systems it is normally "/usr/bin/dvisvgm". On a Windows-based PC a compiled binary is available from sourceforge and can placed in the same directory with the latex binary. Path of mimetex binary If this is blank and the binaries above are missing or fail, the TeX filter will attempt to use a mimetex binary distributed with Moodle. If you have installed mimetex on the server and would rather use it include the path here. Debugging TeX filter The TeX filter has a debugging script (which will be much more helpful if you turn on Debugging) included that should help if you are having problems. The URL will be as follows... http://your.moodle.path/filter/tex/texdebug.php You can either enter this path explicitly or with appropriate role permissions the TeX images (or more likely incorrectly rendered text, if you need debugging) will link to this. On more recent versions of Moodle you are required to be logged in as an Administrator to access this facility. See also TeX Filter Glossary - a glossary you can add to your course which details usage of the supported TeX notation. LaTeX - the LaTeX document preparation system. ghostscript - required to render the image MimeTeX Manual - Default TeX notation manual MikTeX - LaTeX for Windows systems ImageMagick - required to render images for Windows Using TeX Notation Advanced Maths Tools for Moodle 2.x - SEE - The Next Generation of TeX Tools Mathematics tools forum on moodle.org Source: docs.moodle.org/503/en/admin/setting/filtersettingfiltertex — MoodleDocs (GPL) · Imported 2026-11-10. admin/setting/filtersettingfilterurltolink As the name suggests, the 'Convert URLs into links and images' filter converts a URL such as http://moodle.org into a clickable link http://moodle.org. In addition it can replace image URLs with images. Site administration settings The 'Convert URLs into links' filter has two settings which may be changed by a site administrator in Administration > Site administration > Plugins > Filters > Convert URLs into links and images. Apply to formats The filter may be applied to text entered in any/all of the following formats: Moodle auto-format, HTML format, plain text format, Markdown format. Embed images By default, the filter replaces image URLs with images, however this feature may be disabled by a site administrator. Source: docs.moodle.org/503/en/admin/setting/filtersettingfilterurltolink — MoodleDocs (GPL) · Imported 2026-11-10. admin/setting/filtersettingmathjaxloader The MathJax filter parses Moodle texts and will fully render TeX expressions that it finds appearing within specific tokens. The Mathjax filter also enables the equation editor that is part of the text editor. Site administration settings The MathJax filter is enabled by default in Administration > Site administration > Plugins > Filters > Manage filters. Normally, the MathJax filter should be at the top of the list of filters. The MathJax filter works without any additional configuration. However, MathJax may also be installed locally if desired, to save on bandwidth or because of local proxy restrictions. See Administration > Site administration > Plugins > Filters > MathJax for further details and configuration settings. MathJax has a setting for "TeX filter compatibility" that changes the behaviour to match as closely as possible, the "Tex filter". This means it will support all the different delimiters of the Tex filter, and display all equations as "inline". It is only recommended to enable this setting if you have existing equations written manually using a variety of delimiters supported by the old filter. It may be hard to determine if this is the case except by searching the database for equations of the form: $$ equation $$, [tex] equation [/tex], equation or \( equation \) The MathJax project is large and detailed with many options, which a Moodle admin can make use of with the MathJax filter. See also Text editor for more details of the equation editor Using TeX Notation Mathematics tools forum on moodle.org Source: docs.moodle.org/503/en/admin/setting/filtersettingmathjaxloader — MoodleDocs (GPL) · Imported 2026-11-10. admin/setting/filtersettingmediaplugin The default player VideoJS provides industry-leading accessibility and usability for video and audio in your content. Watch the screencast Media players to view a demonstration. Additional media players can be enabled in 'Manage media players' in Site administration and new media players can easily be added as plugins. Source: docs.moodle.org/503/en/admin/setting/filtersettingmediaplugin — MoodleDocs (GPL) · Imported 2026-11-10. admin/setting/filtersettingmultilang 1 Displaying text in multiple languages 2 Enabling the multi-language content filter 3 How to use in a course 3.1 Correct structure 3.2 Incorrect structure 4 How to use for assignment submission agreements 5 How it works internally 6 Common problems 7 The 'Restriction by language' additional plugin 8 The Multi-Language Content (v2) additional plugin and Multi-Language Content text editor plugins 9 The Multi-Lingual Content additional plugin 10 Any questions? 11 See also Displaying text in multiple languages The multi-language content filter enables resources to be created in multiple languages. When turned on, it looks for tags which indicate that a text contains multiple languages. Then it selects and outputs the text in the user's language (as set in their browser or in their preferences). Enabling the multi-language content filter An admin can enable the multi-language content filter as follows: Go to Site administration > Plugins > Filters > Manage filters and in the dropdown menu for multi-language content select 'On'. If headings are to be shown in multiple languages too, select 'Content and headings' in the 'Apply to' column. Go to Site administration > Plugins > Filters > Common filter settings and ensure that 'Filter navigation with system context' is turned on. Turning on 'Apply to' 'Content and headings' without also turning on the setting at Step 3. can significantly slow down your Moodle site. How to use in a course To use this feature first create your content in multiple languages (in the same resource). Then enclose each language block (aka multilang block) in the following tags: your_content_here your_content_in_other_language_here It is essential to be in the code editing mode (press [<>] in the HTML editor), when you enter these tags for them to work. Only spaces, tabs and enters can be used between the individual languages in the multilang block. It is important to ensure each multilang block is nested in the same parent element as the other related multilang blocks. Correct structure Each multilang block is nested together inside the parent element. your_content_here your_content_in_other_language_here Incorrect structure Each multilang block is nested in its own parent element. your_content_here your_content_in_other_language_here Note: If your site uses a child language pack (see Language packs for the list), then the first span tag must be the parent language. Otherwise, when a user using the child language views the text, it will not be in the correct language for them (as reported in MDL-55197). For example, if your site uses en_us then the en span tag (as parent language) must be first i.e. your_content_in English your_content_in_German_here How to use for assignment submission agreements With the filter enabled, go to Site administration > Plugins > Activity modules > Assignment > Assignment settings. In the submission statement, add (for example) This assignment is my own work, except where I have acknowledged the use of the works of other people. Ce devoir est le fruit de mon travail personnel, sauf aux endroits où l'utilisation d'oeuvre d'autres auteurs est clairement indiquée. How it works internally Filter first looks for multilang blocks in the text For each multilang block: If there are texts in the currently active language, print them Else, if there exists texts in the current parent language, print them Else, print the first language found in the text Text outside of multilang blocks will be shown always Common problems The multi-lang filter is not enabled. It can be enabled in 'Manage filters' in the Site administration'. Headings aren't displaying correctly - the multi-lang filter should be set to apply to content and headings in 'Manage filters' in the Site administration'. Extra characters between language span tags - editor might add or other tags, please review the html in source view If the course setting is "force" some language, you won't be able to change the displayed language. Extra spaces in language span tag The 'Restriction by language' additional plugin Restriction by language Language filters are great, but sometimes they can make your resources and activities very complex. The Restriction by language availability condition is an additional plugin that makes it easy to show an English resource only to English users and an activity in French only to French speaking students. The Multi-Language Content (v2) additional plugin and Multi-Language Content text editor plugins There is also an alternative multi-language content filter available called Multi-language Content (v2). This filter uses very simple non-HTML tags to mark multi-language blocks (makes it easier to create multi-language content), and can be used together with the Multi-Language Content TinyMCE plugin to make it even easier to create multi-language content directly on the text editor without using the HTML view mode. The Multi-Lingual Content additional plugin Multi-lingual Content is a more flexible version of the multilang filter. One of three possible choices can be selected by the filter admin setting: HTML syntax, Non HTML syntax or Both. If the non html syntax is chosen language block looks like: {mlang en}English{mlang}{mlang bg}Bulgarian{mlang}. In case of Html syntax, language block is a sequence of identical html tags with lang="XX" attributes span or div or any other. Any questions? Please post in the Languages forum on moodle.org. See also Language Custom menu items in Theme settings Is the official language filter the way to go? (What's your experience?) Translation of MOOC forum discussion and solution Source: docs.moodle.org/503/en/admin/setting/filtersettingmultilang — MoodleDocs (GPL) · Imported 2026-11-10. admin/setting/filtersettings 1 Site administration settings 1.1 Common filter settings 1.2 File activity module setting 2 See also Site administration settings Common filter settings A site administrator can change the following settings in Settings > Site administration > Plugins > Filters > Common filter settings: Text cache lifetime - Text filters can take a lot of processor power to analyse. If you have a large number of courses, the filters may slow your system. The text cache lifetime determines how often the filters run. If you set them to run too frequently, your system may slow down. If you set them to run too infrequently, analysing new content will take too long and users will notice. You should experiment to find the correct amount of time for your server. Filter uploaded files - This setting enables uploaded files (HTML and text only) to be processed by the filters system. You can choose to have none, only HTML or all files filtered. Filter match once per page - This setting affects the glossary, activity and resource linking filters. If set to yes, only the first match on the complete page will be converted to a link. All others will be ignored. Filter match once per text - This setting affects the glossary, activity and resource linking filters. If set to yes, only the first match in a discrete block of text will be converted to a link. All others in that text block will be ignored. File activity module setting A site administrator can change the following setting in Administration > Site administration > Plugins > Activity modules > File: Use filters on file content - This applies to content in HTML and XHTML pages. See also Managing filters Source: docs.moodle.org/503/en/admin/setting/filtersettings — MoodleDocs (GPL) · Imported 2026-11-10. admin/setting/filtersettingtex The TeX Filter is a core Moodle filter intended to allow one to convert tex expressions into GIF, PNG or SVG images. The filter relies on some additional binaries to accomplish this for expressions contained between appropriate tokens. Where these binaries are not available, Moodle provides for a fallback through the use of Mimetex. Versions of MimeTex for Linux (glib2.3 32bit), Windows, Mac OS X and FreeBSD are included in the Moodle distribution. There are other technologies available for displaying Tex (see the section on Mathematics tools for a discussion.) Note: being based on binaries it requires the availability of three PHP program execution functions: exec, shell_exec and system. 1 Methods and Usage 2 MimeTeX 3 Compatability with MathJax 4 Site administration settings 4.1 Installing the binaries 4.2 LaTeX preamble 4.3 Transparent colour 4.4 Density 4.5 Path of latex binary 4.6 Path of dvips binary 4.7 Path of convert binary 4.8 Path of dvisvgm binary 4.9 Path of mimetex binary 5 Debugging TeX filter 6 See also Methods and Usage To avoid confusion you should note that the TeX filter has two separate methods for converting the TeX notation to images. The preferred method is a collection of three binaries that you are responsible for installing (if they are not already present, though many webhosts make these available) and configuring on your server. The filter settings page relates entirely to this method. If this fails for any reason the filter will fall back to a single binary - MimeTeX. A number of different builds are included in the Moodle distribution for popular operating systems, though Mimetex and its bigger brother, MathTex are easy enough to compile and install if you have systems administration experience. Before doing anything else, you need to go to Settings > Site administration > Plugins > Filters and activate the TeX Notation Filter. If you want to use the Algebra filter (another core filter) since the Algebra Filter is really only a "front end" to the Tex filter, you should also turn on the Algebra filter. For more information on the Algebra Filter see the Algebra filter. Once the filter is turned on and properly configured you can make use of it by including a TeX expression delimited by double-dollar signs. Example: $$ \sqrt{x + y} $$ If this does not display properly, see the information on debugging. MimeTeX Moodle may use a pre-built MimeTeX binary (located in the filters/tex directory) as a fallback if it can't properly access dvips, convert and latex binaries. There are a number of different versions for different operating systems. The TeX filter picks the appropriate binary for the detected host operating system (you will need to hack the script if your operating system is not included). Note that your web server needs to be set up with appropriate permissions for running binaries in that location. The MimeTeX manual is available but is arguably intended for persons with systems administration experience and does not specifically address the Moodle environment. You should only use MimeTeX if installing the full LaTeX system fails or the binaries are not available on your system. The results are not nearly as good. Compatability with MathJax In Moodle 2.8 onwards, the TeX Notation and MathJaxloader filter may be used in combination. If both filters are enabled on the page, images will be displayed first by the TeX notation filter, and the MathJax version of the TeX expression will replace a little while later when MathJax has finished loading and processing. If both filters are available, a teacher may decide which to use in an activity by enabling one and disabling the other. Site administration settings Location: TeX Notation settings link in Settings > Site administration > Plugins > Filters > Manage filters The TeX filter settings page are primarily intended to adjust the operation of the LaTeX renderer. The defaults for the three path settings are selected according to the detection of the operating system on which Moodle is running. These are simply suggested common values - Moodle does not check that the binaries actually exist at these locations. More recent versions of Moodle show a green tick or a red cross next to the path setting - this shows that the binary exists at that location (only). The settings have no effect on the operation of the MimeTex binary (used if any of these binaries are not found). Installing the binaries This depends on your platform, but for a typical install you are going to need a LaTeX implementation. On modern Linux implementations you should look for the 'texlive' package (e.g. apt-get install texlive) although a Windows version is available (see Tex Live). It is highly unlikely that you will have all these binaries as part of a standard install. If you cannot find texlive you may have to install LaTeX, Ghostscript and ImageMagick separately. While not endorsed by Moodle.org, a simple installation binary for Windows is MikTeX. For security reasons, you should ensure shell escape is disabled (shell_escape = f) in your LaTeX configuration (if is enabled, this will be set to "t"). This is to prevent the risk of users being able to execute external commands. Note that this is usually disabled by default. (If this is set to "p" i.e. restricted mode, a predefined set of commands are allowed, if this is the desired behaviour, be extremely careful which commands are allowed given all users will have access to these). The filter settings page will try to guess the most likely location for the binary files depending on the detected platform. If correct, green ticks will appear against each setting. If red crosses appear you will need to check and modify the settings as required. A simple check is made to establish if the binaries exist at the given paths. A tick or a cross is displayed alongside each as a result. Note that this does not check that the application actually works, just that it is there. Some systems supply the fonts as separate packages. If you are having problems make sure you have all the fonts you need installed. You may need to track down an 'extra' fonts package to get the required maths fonts. LaTeX preamble Enables the LaTeX preamble to be specified. The default should work for most users, but you may need to change it to support non-Latin character sets etc. Please see the LaTeX documentation for further details. Transparent colour This should be set to your normal text background colour. The default setting is #FFFFFF (i.e., white). Density This setting effects the size of the resulting image. The default setting is 120 pixels, and it produces an image of reasonable quality, but for some complicated equations, this still may not be enough. It may be that anything less is not going to produce an image of sufficient quality but the image size can be controlled by the TeX encoding when the page is rendered. Path of latex binary Path to standard latex binary. On Unix based systems it is normally "/usr/bin/latex". On a MacOS X, the path is "/usr/texbin/". In Windows, using MiKTeX, it is usually something like C:\texmf\miktex\bin\latex.exe Path of dvips binary Path to standard dvips binary - generally distributed as part of a LaTeX system. On Unix based systems it is normally "/usr/bin/dvips". On a MacOS X, the path is "/usr/texbin/". On Windows using MikTeX is usually something like C:\texmf\miktex\bin\dvips.exe Path of convert binary Path to standard convert binary. It is necessary to produce GIF or PNG images from using the latex and dvips binaries. This is distributed as part of the Ghostscript system, or ImageMagick in Linux. On Unix based systems it is normally "/usr/bin/convert". On a MacOS X, the path is "/usr/local/bin/". On a Windows-based PC the path is something like C:\Program Files\ImageMagick\convert.exe (for ImageMagick, but something else for GhostScript.) Path of dvisvgm binary This binary is used instead of convert to produce SVG images. This is distributed as part of TeXlive on Linux although it may be require the full or extra packages to be installed. On Unix based systems it is normally "/usr/bin/dvisvgm". On a Windows-based PC a compiled binary is available from sourceforge and can placed in the same directory with the latex binary. Path of mimetex binary If this is blank and the binaries above are missing or fail, the TeX filter will attempt to use a mimetex binary distributed with Moodle. If you have installed mimetex on the server and would rather use it include the path here. Debugging TeX filter The TeX filter has a debugging script (which will be much more helpful if you turn on Debugging) included that should help if you are having problems. The URL will be as follows... http://your.moodle.path/filter/tex/texdebug.php You can either enter this path explicitly or with appropriate role permissions the TeX images (or more likely incorrectly rendered text, if you need debugging) will link to this. On more recent versions of Moodle you are required to be logged in as an Administrator to access this facility. See also TeX Filter Glossary - a glossary you can add to your course which details usage of the supported TeX notation. LaTeX - the LaTeX document preparation system. ghostscript - required to render the image MimeTeX Manual - Default TeX notation manual MikTeX - LaTeX for Windows systems ImageMagick - required to render images for Windows Using TeX Notation Advanced Maths Tools for Moodle 2.x - SEE - The Next Generation of TeX Tools Mathematics tools forum on moodle.org Source: docs.moodle.org/503/en/admin/setting/filtersettingtex — MoodleDocs (GPL) · Imported 2026-11-10. admin/setting/h5p 1 About H5P 2 Creating and editing H5P content in the Content bank 3 Creating and editing H5P content elsewhere 4 Creating H5P resources from Moodle standard questions 4.1 Add an activity or create a resource? 5 Adding an H5P activity to a course 6 Embedding H5P into other activities 7 Using H5P content in languages other than English 8 Admin settings 8.1 Manage H5P content types 8.2 H5P settings 8.2.1 H5P framework handler 8.2.2 Custom CSS 9 Capabilities 10 See also About H5P H5P is an abbreviation for HTML5 Package. It enables educators to create content such as interactive videos, quizzes and presentations. H5P content can be created in the Content bank or on the h5p.com site, or with the LUMI app for desktop, and added to your course as an H5P activity or embedded into any other activity or resource. For summative assessment, such as exams, it is recommended for security reasons to use the Quiz activity rather than H5P. Creating and editing H5P content in the Content bank To create and edit H5P content, Go to the Content bank, accessible when in a course from the Navigation drawer (Boost theme) or from Site pages in the Navigation block (Classic theme). Click the Add button and select a content type. For more information, see Content bank. Creating and editing H5P content elsewhere You can go to the h5p.com site, or you can install the LUMI app for desktop (Windows, Mac and Linux versions available). The CurrikiStudio server is an open source project to build a server where the teachers can create their H5P content. Make sure you download the newly created H5P file that you will later upload to your Moodle course. You must be aware that some parameters limit the file upload size for H5P objects in your server. Course file size limit is one of them. Remember that if you upload some *.h5p files to your Moodle server, the server MUST have the H5P libraries installed in order for those H5P activities to work. See Manage content types (below). If you use the LUMI desktop tool to create a H5P content from a file on the desktop, and then upload the H5P files via ftp to server file system, you would then be able to use the File system repository to add them to the Content bank. From the Content bank select 'Upload content' and the File system repository will appear as an option in the file manager. Creating H5P resources from Moodle standard questions See Repurpose resources content type plugin and this post about a new plugin for making H5P resources from some Moodle standard questions. Currently supported resources are: Moodle's Essay question type -> H5P Essay resource Moodle's Multiple Choice question type -> H5P Multiple Choice resource Moodle's Short answer question type -> H5P Guess the Answer resource Moodle's True/False question type -> H5P True False question resource Questions in a directory can be imported collectively to create a Column, Single Choice Set, Dialog Cards or Flash Cards content types. After creation, the content types can be edited in the Content bank as normal H5P content and combined with other content through copy and paste. After installation, teachers may create interactive content in the Content bank by clicking the Add button, and then choosing one of the Repurpose resources content types from the drop down menu to open the editor, and selecting questions and other options in the editor and saving. The new content created from the question will now appear in the Content bank. Add an activity or create a resource? If you upload an .H5P by drag and drop, the server will ask you whether you want to 'Add an H5P activity', or to 'Create a file resource' .h5p... You must choose wisely... An H5P resource is a file , that students can download. An H5P activity is one activity, for the students can interact with it. Adding an H5P activity to a course See H5P activity for how to create an H5P activity in a course. Embedding H5P into other activities You can embed H5P content into other activities and resources such as a Lesson or a Book, by clicking the H5P button in the text editor. H5P button in the text editor To embed H5P from the Content bank: Click the H5P button in the text editor then click 'Browse repositories'. Browse the Content bank repository and select an H5P file. Choose to either make a copy of the file or create a shortcut. Click the button 'Select this file'. Select H5P options as required and the display option 'Auto-play in mobile app'. Click 'Insert H5P content'. Note: If you create a shortcut to the file, you can edit it in the Content bank and any activities with a link to the file will be updated. Using H5P content in languages other than English Currently (April 2021) the names and descriptions of the H5P modules when using the Content bank are in English language only, but when using LUMI, these names and descriptions may be translated to other languages. See Translating plugins and the Spanish example below: Admin settings For H5P content to display in other activities, the Display H5P filter must be enabled and the URL e.g. h5p.com should be listed as an allowed source in Site admin / Plugins / Filters / Display H5P. Manage H5P content types Site administration > H5P > Manage H5P content types For teachers to upload and display H5P files in their courses, H5P content types and libraries must be available on the site. A scheduled task Download available H5P content types from h5p.org does this automatically (but check if it is enabled and has already run after first upgrading your site). If it is not possible to use this scheduled task, then the Site administration page 'Manage H5P content types' allows you to upload necessary files. H5P libraries needed error message If the scheduled task is not run and files are not uploaded, teachers will receive an error message when attempting to upload H5P content. An admin can choose to disable selected H5P content types, for example ones duplicating quiz functionality. H5P settings Site administration > H5P > H5P settings H5P framework handler Select the version of the H5P framework to use. Custom CSS Enter the CSS that you wish to apply to your H5P content. For example, entering: .h5p-course-presentation h2, .h5p-course-presentation .h5p-footer .h5p-footer-toggle-keywords .current-slide-title {     color: #fab; } Which will then apply to the H5P content, here being the example presentation (h5p.org/presentation - CC BY-SA 4.0 Deed Attribution-ShareAlike 4.0 International license creativecommons.org/licenses/by-sa/4.0/) where both instances of the slide title text have been changed to pink. Note: This setting is available in Moodle 4.3.3+ (Build: 20240223), version 2023100903.02 and above. Capabilities In addition to capabilities relating to the H5P activity and the Content bank there are further H5P capabilities as follows: - allowed for the default role of teacher Set H5P display options - allowed for the default role of teacher Manage H5P content types - allowed for the default role of manager only Deploy H5P content - allowed for the default roles of manager and teacher See also H5P activity H5P FAQ LUMI is a free (Open Source) desktop app that allows you to create, edit and share H5P interactive content with dozens of different content types. It is in English natively, but it has great support for languages other than English. Comparison chart of H5P questions and standard quiz questions Moodle & H5P, Magic Together | Michelle Lomman | MoodleMoot Global 2020 H5P in Moodle documentation with many useful tips and warnings Why you should NOT use H5P for high-risk assessment to know the reason of this rule. Source: docs.moodle.org/503/en/admin/setting/h5p — MoodleDocs (GPL) · Imported 2026-11-10. admin/setting/h5psettings 1 About H5P 2 Creating and editing H5P content in the Content bank 3 Creating and editing H5P content elsewhere 4 Creating H5P resources from Moodle standard questions 4.1 Add an activity or create a resource? 5 Adding an H5P activity to a course 6 Embedding H5P into other activities 7 Using H5P content in languages other than English 8 Admin settings 8.1 Manage H5P content types 8.2 H5P settings 8.2.1 H5P framework handler 8.2.2 Custom CSS 9 Capabilities 10 See also About H5P H5P is an abbreviation for HTML5 Package. It enables educators to create content such as interactive videos, quizzes and presentations. H5P content can be created in the Content bank or on the h5p.com site, or with the LUMI app for desktop, and added to your course as an H5P activity or embedded into any other activity or resource. For summative assessment, such as exams, it is recommended for security reasons to use the Quiz activity rather than H5P. Creating and editing H5P content in the Content bank To create and edit H5P content, Go to the Content bank, accessible when in a course from the Navigation drawer (Boost theme) or from Site pages in the Navigation block (Classic theme). Click the Add button and select a content type. For more information, see Content bank. Creating and editing H5P content elsewhere You can go to the h5p.com site, or you can install the LUMI app for desktop (Windows, Mac and Linux versions available). The CurrikiStudio server is an open source project to build a server where the teachers can create their H5P content. Make sure you download the newly created H5P file that you will later upload to your Moodle course. You must be aware that some parameters limit the file upload size for H5P objects in your server. Course file size limit is one of them. Remember that if you upload some *.h5p files to your Moodle server, the server MUST have the H5P libraries installed in order for those H5P activities to work. See Manage content types (below). If you use the LUMI desktop tool to create a H5P content from a file on the desktop, and then upload the H5P files via ftp to server file system, you would then be able to use the File system repository to add them to the Content bank. From the Content bank select 'Upload content' and the File system repository will appear as an option in the file manager. Creating H5P resources from Moodle standard questions See Repurpose resources content type plugin and this post about a new plugin for making H5P resources from some Moodle standard questions. Currently supported resources are: Moodle's Essay question type -> H5P Essay resource Moodle's Multiple Choice question type -> H5P Multiple Choice resource Moodle's Short answer question type -> H5P Guess the Answer resource Moodle's True/False question type -> H5P True False question resource Questions in a directory can be imported collectively to create a Column, Single Choice Set, Dialog Cards or Flash Cards content types. After creation, the content types can be edited in the Content bank as normal H5P content and combined with other content through copy and paste. After installation, teachers may create interactive content in the Content bank by clicking the Add button, and then choosing one of the Repurpose resources content types from the drop down menu to open the editor, and selecting questions and other options in the editor and saving. The new content created from the question will now appear in the Content bank. Add an activity or create a resource? If you upload an .H5P by drag and drop, the server will ask you whether you want to 'Add an H5P activity', or to 'Create a file resource' .h5p... You must choose wisely... An H5P resource is a file , that students can download. An H5P activity is one activity, for the students can interact with it. Adding an H5P activity to a course See H5P activity for how to create an H5P activity in a course. Embedding H5P into other activities You can embed H5P content into other activities and resources such as a Lesson or a Book, by clicking the H5P button in the text editor. H5P button in the text editor To embed H5P from the Content bank: Click the H5P button in the text editor then click 'Browse repositories'. Browse the Content bank repository and select an H5P file. Choose to either make a copy of the file or create a shortcut. Click the button 'Select this file'. Select H5P options as required and the display option 'Auto-play in mobile app'. Click 'Insert H5P content'. Note: If you create a shortcut to the file, you can edit it in the Content bank and any activities with a link to the file will be updated. Using H5P content in languages other than English Currently (April 2021) the names and descriptions of the H5P modules when using the Content bank are in English language only, but when using LUMI, these names and descriptions may be translated to other languages. See Translating plugins and the Spanish example below: Admin settings For H5P content to display in other activities, the Display H5P filter must be enabled and the URL e.g. h5p.com should be listed as an allowed source in Site admin / Plugins / Filters / Display H5P. Manage H5P content types Site administration > H5P > Manage H5P content types For teachers to upload and display H5P files in their courses, H5P content types and libraries must be available on the site. A scheduled task Download available H5P content types from h5p.org does this automatically (but check if it is enabled and has already run after first upgrading your site). If it is not possible to use this scheduled task, then the Site administration page 'Manage H5P content types' allows you to upload necessary files. H5P libraries needed error message If the scheduled task is not run and files are not uploaded, teachers will receive an error message when attempting to upload H5P content. An admin can choose to disable selected H5P content types, for example ones duplicating quiz functionality. H5P settings Site administration > H5P > H5P settings H5P framework handler Select the version of the H5P framework to use. Custom CSS Enter the CSS that you wish to apply to your H5P content. For example, entering: .h5p-course-presentation h2, .h5p-course-presentation .h5p-footer .h5p-footer-toggle-keywords .current-slide-title {     color: #fab; } Which will then apply to the H5P content, here being the example presentation (h5p.org/presentation - CC BY-SA 4.0 Deed Attribution-ShareAlike 4.0 International license creativecommons.org/licenses/by-sa/4.0/) where both instances of the slide title text have been changed to pink. Note: This setting is available in Moodle 4.3.3+ (Build: 20240223), version 2023100903.02 and above. Capabilities In addition to capabilities relating to the H5P activity and the Content bank there are further H5P capabilities as follows: - allowed for the default role of teacher Set H5P display options - allowed for the default role of teacher Manage H5P content types - allowed for the default role of manager only Deploy H5P content - allowed for the default roles of manager and teacher See also H5P activity H5P FAQ LUMI is a free (Open Source) desktop app that allows you to create, edit and share H5P interactive content with dozens of different content types. It is in English natively, but it has great support for languages other than English. Comparison chart of H5P questions and standard quiz questions Moodle & H5P, Magic Together | Michelle Lomman | MoodleMoot Global 2020 H5P in Moodle documentation with many useful tips and warnings Why you should NOT use H5P for high-risk assessment to know the reason of this rule. Source: docs.moodle.org/503/en/admin/setting/h5psettings — MoodleDocs (GPL) · Imported 2026-11-10. admin/setting/managedataformats An administrator can enable / disable and reorder data formats in Site administration > Plugins > Data formats > Manage data formats for use when downloading data such as logs, quiz results and feedback responses. Download data dropdown menu Default data formats enabled are: Comma separated values (.csv) Microsoft Excel (.xlsx) HTML table Javascript Object Notation (.json) OpenDocument (.ods) By default, .csv is at the top of the list, and so appears first when selecting a download format. See also MDL-51603 Source: docs.moodle.org/503/en/admin/setting/managedataformats — MoodleDocs (GPL) · Imported 2026-11-10. admin/setting/managefileconverterplugins Plugins may be installed to convert uploaded assignment submissions to PDF format for teachers to annotate. The list of available converters may be accessed from the Plugins section of Site administration. There are currently two document converters available as standard plugins: Unoconv requires Unoconv to be installed on a server. However, Unoconv is now deprecated. Google Drive converter (in 3.3 onwards) requires the OAuth 2 Google service to be enabled. See also Google Document Converter Slooooooooow forum discussion Source: docs.moodle.org/503/en/admin/setting/managefileconverterplugins — MoodleDocs (GPL) · Imported 2026-11-10. admin/setting/managefilters Filters can be used to add links, insert multimedia players, convert Mathematical expressions or emoticons into images and more. A filter may be enabled at the site level and then removed as needed at the course or activity level. Thus a teacher can disable glossary auto-linking in a quiz for example. Load video YouTube YouTube might collect personal data. Privacy Policy Overview of course filters Standard filters Filters in Moodle include: Activity names auto-linking - Scans course text for activity titles that exist in the same course and creates a link to them Algebra notation - Convert algebra code into images Code highlighter filter - adds colour to code in the TinyMCE editor. Convert URLs into links and images - Converts URLs in selected formats, such as Moodle auto-format, to click-able links Database auto-linking - Enables automatic linking of course Database activity entries Display emoticons as images - Converts textual emoticon (smiley) characters into images Email protection - Obfuscates email address links to make them more difficult for spammers to harvest Glossary auto-linking - Scans text for glossary entries that exist in the same course and creates a link MathJax - For adding mathematical equations and expressions using an equation editor Multimedia plugins - Converts HTML links in text that points to a multimedia resource and replaces the link with an appropriate multimedia players Multi-Language content - Enables resources to be created in multiple languages TeX notation Displaying math formulae in TeX notation using images Word censorship - This filter "blacks out" words found on a list you can manage Contributed filters Filters have also been made by developers in the community. Some docs online for these include: FontAwesome - This scans text for icons that can be embedded using the FontAwesome icon set. IPA - Renders simple X-SAMPA markup in the International Phonetic Alphabet PoodLL - is the core PoodLL plugin for Moodle. It contains all the recorders, widgets and the code that makes it possible to use them around Moodle. It is a required component for all the other PoodLL plugins. filter generico - gives you considerable ability to customize your Moodle site without having to resort to multiple plugins, or custom PHP coding filter multiembed - Facilitates embedding of third-party content from a growing list of service providers (e.g. Prezi, Haiku Deck, etc.) See also Managing filters Common filter settings for the site Filters FAQ Source: docs.moodle.org/503/en/admin/setting/managefilters — MoodleDocs (GPL) · Imported 2026-11-10. admin/setting/managelicenses Licence settings An administrator can specify the default site licence from Site administration > Licence > Licence settings. The setting 'Remember user licence preference' (enable by default) will remember the last licence selected by a user when uploading a file. If the setting is disabled, the default licence will be used. Licence manager From the licence manager, the administrator can disable certain licences (except the specified default). A button 'Create licence' allows the administrator to enter details of a custom licence, along with its URL: Creating a custom licence Users can now select Creative Commons licences version 4.0. (The 3.0 licences have not been altered). Licences affecting what users see Note: The licence given to a file when uploaded to Moodle does not in any way affect its visibility on a course. It simply creates the default when it is being re-used elsewhere. This default licence can be changed at the time of display. Source: docs.moodle.org/503/en/admin/setting/managelicenses — MoodleDocs (GPL) · Imported 2026-11-10. admin/setting/managemediaplayers The default player VideoJS provides industry-leading accessibility and usability for video and audio in your content. Watch the screencast Media players to view a demonstration. Additional media players can be enabled in 'Manage media players' in Site administration and new media players can easily be added as plugins. Source: docs.moodle.org/503/en/admin/setting/managemediaplayers — MoodleDocs (GPL) · Imported 2026-11-10. admin/setting/manageportfolios Portfolios in Moodle make it easy for a student to export their work to an external portfolio. For example, student work might include forum posts or assignment submissions that they believe demonstrates their knowledge. Portfolios are disabled by default in Moodle and must be enabled by a site administrator. See Managing portfolios for details. File download Flickr.com Google Drive Mahara ePortfolio Portfolios FAQ 1 Exporting to portfolio 2 Items which may be exported to portfolio 3 Export formats 4 Managing your own portfolios 5 See also Exporting to portfolio When portfolios are enabled, forum posts and other exportable data (see below) have an export to portfolio icon or link beside them. To export an assignment submission to a portfolio Click the 'Export to portfolio' link Select the portfolio you wish to export to e.g. Google Docs or file download (this step will be skipped if there's only one) If prompted, select an export format e.g. HTML If file download was selected in step 2, you can then save the file, otherwise you will be given the option to return to the page you were previously viewing or visit your portfolio (certain portfolios only) Items which may be exported to portfolio Assignment submissions - single and multiple file uploads Chat sessions Database activity module entries (##export## tag may be added to list and single templates) Database activities Forum posts Glossary entries Export formats Possible export formats include HTML LEAP2A, a specification for e-portfolio portability Images Text File Managing your own portfolios While the administrator determines which portfolios are enabled on the site in Managing portfolios, an individual user can choose which portfolios to display or hide from the preferences page of the user menu top right, in the section "Portfolios." See also Exabis e-portfolio block Portfolio module Portfolio Plugin for Evernote e-Portfolio overview at Wikipedia Source: docs.moodle.org/503/en/admin/setting/manageportfolios — MoodleDocs (GPL) · Imported 2026-11-10. admin/setting/managerepositories Repositories in Moodle enable users to add files to a course and other locations in Moodle. Repositories provide access to specific types of file sources. They can also allow, where appropriate, users to upload files, access previously uploaded files, and to easily bring content into Moodle from external sources, such as Flickr or Google Docs. See Managing repositories for more on configuring and managing them. 1 Standard repositories 1.1 Repositories enabled by default 1.2 Additional standard repositories disabled by default 2 See also Standard repositories Repositories are managed in Site administration > Plugins > Repositories > Manage repositories. Standard repositories come with default Moodle. It is also possible to add additional repositories via Moodle plugins. Repositories enabled by default Content bank Gives access to H5P files created or uploaded into the content bank in courses (in 3.9 onwards) Embedded files - Allows linking to files and images available to the user that have been added/embedded in their course activities Server files - Gives access to files elsewhere on the Moodle site (limited by a user's permissions) Recent files - Shows the last 50 files you have uploaded, according to the context Upload a file - Enables the "Upload a file" option in the site File picker to allow users to browse for and upload files Private files - Enables access to a personal storage area for every user URL downloader - Allows downloading of files and images from a particular URL Wikimedia - Lets users search for and insert media (images) from Wikipedia Additional standard repositories disabled by default These may be enabled and set to visible or hidden by a site administrator. Box - bring files in from your Box account Dropbox - link to or copy files from Dropbox EQUELLA - link to files in an EQUELLA installation File system - access files uploaded to a folder on your server (by, e.g. FTP) Flickr - search for and display images from your personal Flickr account Flickr public - search for and display images publicly available from Flickr Google Drive - bring files from your Google Drive account Merlot.org - bring resources in from Merlot.org Nextcloud Amazon S3 - enables users to copy files from Amazon S3 storage instances OneDrive bring in files from your Microsoft OneDrive WebDAV -bring in files from external sources using WebDAV protocol YouTube videos - search for and display YouTube videos See also Managing repositories Repositories FAQ Managing a personal repository - keep all your files in your PC, upload them to the cloud and use them in Moodle. Repositories in Moodle 2.0 video Whitepaper – Moodle 2 Repositories by Gavin Henrick Five Tips for Using the New File Repository System in Moodle by Marcelo Mendes dev:Repository plugins developer documentation Moodle Repository Plugins database Moodle Repositories discussion forum Source: docs.moodle.org/503/en/admin/setting/managerepositories — MoodleDocs (GPL) · Imported 2026-11-10. admin/setting/managerepositoriescommon 1 Enabling repositories 2 Vocabulary 3 Common repository settings 3.1 Cache expire 3.2 Timeout settings 3.2.1 Get file timeout 3.2.2 Sync file timeout 3.2.3 Sync image timeout 3.3 Allow external links 4 Repository capabilities Enabling repositories Repositories can be enabled by an administrator in Site administration > Plugins > Repositories > Manage repositories. A repository plugin may be set to one of three possible statuses: "Enabled and visible" means available for use in the File picker "Enabled and hidden" means not available in the File picker "Disabled" means not available for use and if content has been added to your site you will be given the following message: Are you sure you want to remove this repository plugin, its options and all of its instances - [Repository Name here]? If you choose "Continue and download", file references to external contents will be downloaded to Moodle. This could take a long time to process. With options to Continue, Continue and download, or Cancel. The order in which repositories are shown in the file picker may be set using the up and down arrows. Vocabulary Repository plugin: it is also called a repository type. It can be named Box, Flickr, Mahara, Youtube... Adding a plugin allow users to create instances of this plugin. Only instances are displayed into the file picker. Type only exist in order to let a Moodle administrator to deactivate/delete all instances of a type in one click. Repository instance: An instance is displayed into the file picker and it is the access point to an external repository. An instance can have specific settings (for example be linked to a personal account). First case: when you add the plugin, an instance is automatically created and can not be edited. The Moodle administrator cannot change the instance name. The instance name displayed into the file picker will be exactly the same as the plugin name. For example, Youtube, Box... Second case: the plugin allow the Moodle administrator to add multiple instances. An instance has a name for example Flickr Public access to Martin account, Martin's Mahara... For this second case it is important to identify two different kind of instances: Common instances: The instances set by Moodle administrator in these same administration pages will be available into any file picker. Private instance: A teacher can set some instances available only for a course, and a user can set some instances only available for himself. In order to set instances for a course the teacher will go to the course page, and in order to set instances for a personal use, a user will go on his profile page. An administrator cannot add/edit private instances from the administration pages. Common repository settings Common repository settings can be set by an administrator in Site administration > Plugins > Repositories > Common Repository settings: Cache expire You can specify how long in seconds file listings are cached locally when browsing external repositories. Timeout settings If users are reporting timeouts when using repositories, an admin can increase the timeout for downloading or synchronising files. Get file timeout Timeout in seconds for downloading an external file into Moodle. Defaults to 30. Sync file timeout Timeout in seconds for syncronising the external file size. Defaults to 1. Sync image timeout Timeout in seconds for downloading an image file from external repository during syncronisation. Defaults to 3. Allow external links With some repositories such as Flickr and Wikimedia, users can have the choice whether to copy the media into Moodle (the preferred solution) or to make a link to it instead. Defaults to Yes. Repository capabilities Authenticated user role: View Embedded files View Box repository View a Dropbox folder View Flickr repository Use Flickr public repository in file picker View Google Drive repository View the Merlot repository View Picasa repository View Recent files View Amazon s3 repository View Microsoft OneDrive repository Use uploading in file picker Use URL downloader in file picker View use Private files View Wikimedia repository Use YouTube in file picker Manager, Course creator, Teacher, Non-editing teacher Roles: View File system repository View Server repository View WebDav repository Source: docs.moodle.org/503/en/admin/setting/managerepositoriescommon — MoodleDocs (GPL) · Imported 2026-11-10. admin/setting/mediaplayers The default player VideoJS provides industry-leading accessibility and usability for video and audio in your content. Watch the screencast Media players to view a demonstration. Additional media players can be enabled in 'Manage media players' in Site administration and new media players can easily be added as plugins. Source: docs.moodle.org/503/en/admin/setting/mediaplayers — MoodleDocs (GPL) · Imported 2026-11-10. admin/setting/mediasettings Moodle makes embedding video and sound files very straightforward. Media (audio and video) may be dragged and dropped directly onto the course page, added as a File resource or linked to as a URL resource and they will also display in Moodle's text editor. Using the Text editor provides extra options with media files, such as the option to directly record sound and video from the editor. Load video YouTube YouTube might collect personal data. Privacy Policy Display sound and video files See Video and Audio for instructions on how to embed video and sound files in the text editor. The Multimedia plugins filter must be enabled and then specific players may be enabled or disabled from 'Manage media players' in Site administration. The default player, VideoJS player supports (video) mov, .mp4, .m4v, .mpeg, .mpe, .mpg, .ogv, .webm, .flv, .f4v (audio) .mp3, .aac, .flac, .m4a, .oga, .ogg, .wav Other available players are: YouTube (displays videos hosted on YouTube) Vimeo (displays videos hosted on vimeo) HTML 5 video HTML 5 audio A default width and height for videos can be set by the administrator from the 'Manage media players' page. Teachers adding videos via the Moodle media button in the text editor may also specify a width and height. Source: docs.moodle.org/503/en/admin/setting/mediasettings — MoodleDocs (GPL) · Imported 2026-11-10. admin/setting/mediasettingvideojs VideoJS is the default media player in Moodle. It is demonstrated in the screencast Media players. To see how to add audio and video using the VideoJS players, see Audio and Video. VideoJS player settings, such as the supported video and audio file extensions, may be found in 'VideoJS player' in Site administration. See Media FAQ for details on how to display YouTube subtitles and/or playlists if you are using VideoJS player. Source: docs.moodle.org/503/en/admin/setting/mediasettingvideojs — MoodleDocs (GPL) · Imported 2026-11-10. admin/setting/modsettinglti This page explores how to use LTI External tools in your course as activities. 1 How is it set up? 1.1 General 1.1.1 Content 1.1.2 Display activity name when students access the tool 1.1.3 Display activity description when students access the tool 1.1.4 Grade 1.1.5 Other settings 2 Using an LTI External tool as an activity 3 See also How is it set up? To create an activity using an LTI External tool, go to the Course page and turn on Edit mode. Click either the link ‘Add an activity or resource’ at the bottom of each section, or click anywhere on the course page where you want to add your item. The Activity chooser will show; then, select the tool you want to create an activity with. If the tool you want to use is not in the Activity chooser, you need to toggle the 'Show in activity chooser' option in the table in Course page > More > LTI External tools. This page is also where you can see all LTI External tools available in your course. For more information, see Managing LTI External tools. Once you select the tool in the Activity chooser, you can continue with activity creation and select the settings you'd like. General Content If you're using a tool that supports deep linking, you will see a 'Select content' button on top of the activity form. Use this button to select which specific content from the tool you want to use in your activity. Once you select content, the Activity name and Activity description might be automatically populated by the tool. If not, give your activity a name and, optionally, a description. Display activity name when students access the tool You will only see this setting if your site uses the Classic theme and, in the tool settings, the tool’s content display has been configured as ‘Embed’ or ‘Embed, without blocks’. This setting determines whether the activity name is displayed on the screen once your students access it. Display activity description when students access the tool You will only see this setting if, in the tool settings, the tool’s content display has been configured as ‘Embed’ or ‘Embed, without blocks’. This setting determines whether the activity description is displayed on the screen once your students access it. Grade Your activity will only have a Grade section if the tool it is using has been given permission to write grades in the gradebook. In activities created using LTI External Tools, the grade will always be given by the tool. You might have the option to completely deactivate grading for your activity if the checkbox ‘Allow tool to add grades in the gradebook’ is displayed. If you see the Grade section, but there is no checkbox  ‘Allow tool to add grades in the gradebook’, it means that your site administrator has configured the tool to always write grades in the gradebook. Other settings Depending on what is enabled for your site and course, you may also need to explore Common module settings, Restrict access, Activity completion, Tags and Competencies. Using an LTI External tool as an activity When students click the tool link they are automatically signed into the connecting site/tool provider (screenshot 1 below) and can take the quiz immediately. When the student has completed the quiz, the tool provider displays their grade (screenshot 2 below) and when the student logs out of the tool provider, the grade is passed back into Moodle (screenshot 3 below). 1.Student logged directly into tool provider 2. Tool provider displays score 3. Score passed to Moodle's gradebook See also Forum discussion 1.3 External Tools adding to a course in Moodle version 4.3 Source: docs.moodle.org/503/en/admin/setting/modsettinglti — MoodleDocs (GPL) · Imported 2026-11-10. admin/tool/filetypes/index 1 Adding files to your course 1.1 Drag and drop 1.2 Add a resource or activity 2 Unzipping uploaded files 3 Viewing uploaded files 4 Editing or updating uploaded files 5 Creating a link to a file 6 SCORM files cannot be updated where alias/shortcut are used 6.1 Areas where links cannot be made 7 Site administration settings 7.1 Adding a new file type 7.2 Restricting allowed file types 7.3 Removing a file type 7.4 Editing an existing file type 7.5 Google docs and docx 8 Alternative to MS PowerPoint and PDF files 9 See also Adding files to your course Moodle provides an easy way for a teacher to present materials to their students. These materials may take the form of files such as word-processed documents or slideshow presentations. The materials can be displayed on the page either as individual items or bundled together inside folders. One teacher might for instance wish to share a single research document in pdf format; another might have a folder of sample past examination papers for students to download. Most types of files can be uploaded and accessed through Moodle but the student needs to have the correct software to be able to open them. To add files to a Moodle course, you must first ensure you have the editing turned on. Drag and drop If you are using a modern browser, you can simply click, hold and drag and drop a file directly onto your course page. You will know if drag and drop is available to you because you will (briefly) see a message at the top of your screen: To drag and drop a folder, you must first compress/zip it using whichever program your computer has. Load video YouTube YouTube might collect personal data. Privacy Policy Dragging and dropping files Add a resource or activity Instead of drag and drop, you can click the link 'Add an activity or resource' and select either File or Folder from the activity chooser. Load video YouTube YouTube might collect personal data. Privacy Policy Uploading files The screen for uploading and displaying a file (or folder of files) includes an "add" button. Clicking on this button takes you to the File picker which is the name given to the file storage and access area within Moodle. Find out more about the places you can upload or add files from in the File picker page. There is also a block (with an arrow) into which you can drag and drop a file straight from your desktop into Moodle. Unzipping uploaded files If you upload a single zipped file, Moodle will automatically unzip it for your students to see it in Moodle. If you upload a number of files as a single zipped file, either as File, nor inside a Folder, Moodle will force the download. Viewing uploaded files Once uploaded, files appear as thumbnails in the file manager for easy recognition. Files view can be easily toggled between icons view or a table view with sizes and dates, or a hierarchical list view. File picker icon view File picker table view File picker hierarchical list view Editing or updating uploaded files Clicking on the name of an uploaded file opens up a pop up dialogue box which allows file details quickly to be altered. Creating a link to a file When an uploaded file - or a file from the Content bank, Private files, Dropbox, File system or NextCloud repositories - is re-used elsewhere on Moodle, the teacher has the option to make a copy (a new, unconnected version) or to link to it (formerly known as a shortcut or alias). If a link is created, then when the original file is updated, it will change in all instances of the link. So a teacher might add course notes to their private files for example, and then add them into a number of courses. When the teacher makes an alteration in the file in their private files, this alteration will be reflected in all instances of the course notes. A link can be recognised by its thumbnail. See the difference in the screenshot below between the original file (left) and the link (right): To update a file, go to its original location (for example Private files) and upload your new version with the same name . You will be prompted to override or rename the file. Choose "override" and this file will replace your original file and the alisas/shortcuts will remain and all be updated to your latest version. Creating a link SCORM files cannot be updated where alias/shortcut are used Note: while it is possible to create alias files for SCORM activities, it is not possible to update the source file and have changes replicated in the alias. Updating the original SCORM (.zip) file will update this location but all alias will convert to 'true copies' of the original and alias will be removed. Areas where links cannot be made A link cannot be made in the following areas of Moodle: an assignment submission a forum post attachment a workshop submission a quiz essay a database activity file field This is to prevent cases such as a student uploading an item for assessment and then subsequently changing the original in their private files. When a student uses a file from their private files in one of these instances, they do not see the options to "copy" or "link". Below is an example of a file added to an assignment: Assignment submission with no option to create an alias Site administration settings An administrator can add new file types and view, edit and delete existing file types from Site administration > Server > File types. This means that, for example, if teachers and students on your site use a lot of files specific to a particular program, such files can now be recognised by Moodle, and, when downloaded, they will open in the correct program, rather than presenting themselves as a generic zip file. Some examples from the list Adding a new file type 1. Scroll down to the bottom of the page and click the "Add" button 2. Add the details of your file type, using the example below as a guide. This example will add the .mobi extension (for a Kindle ebook) with the standard document icon. Adding a new filetype NOTE: The mimetype is set for a file when it is added/uploaded in Moodle (not when it is downloaded). If you change the mimetype associated with a file extension it will not make any difference to existing files. Only files uploaded in the future will have the new mimetype. 3. Click to save the changes and you will see your new file type has been added to the list: New type in the list Restricting allowed file types Allowed file types for Workshop submissions may be restricted It is possible to restrict file types for assignments. See Assignment settings. Removing a file type Clicking the X next to a file type will remove it from the site. You will be prompted to confirm before deletion. Editing an existing file type Clicking the edit icon next to a file type will allow you to change certain details, for example the associated icon and description. If you don't wish to use the default description, you can specify your own custom description (with multi-language tags if your site supports multi-languages) or you can use an alternative language string from mimetypes.php. Google docs and docx Importing Google docs files as docx. See https://moodle.org/mod/forum/discuss.php?d=320144 Alternative to MS PowerPoint and PDF files The Presentation additional plugin displays multimedia HTML5 presentations and slide shows in users' web browsers. A web friendly and more feature rich alternative to MS PowerPoint and PDF. However, presentations must be uploaded to moodledata via FTP and you'll need to learn some basic HTML to create presentations for it. See also How to share a single file with students: File resource. How to share a folder of files with students: Folder. Questions about the file picker: File picker FAQ. Restoring file aliases Source: docs.moodle.org/503/en/admin/tool/filetypes/index — MoodleDocs (GPL) · Imported 2026-11-10. admin/tool/licensemanager/index Licence settings An administrator can specify the default site licence from Site administration > Licence > Licence settings. The setting 'Remember user licence preference' (enable by default) will remember the last licence selected by a user when uploading a file. If the setting is disabled, the default licence will be used. Licence manager From the licence manager, the administrator can disable certain licences (except the specified default). A button 'Create licence' allows the administrator to enter details of a custom licence, along with its URL: Creating a custom licence Users can now select Creative Commons licences version 4.0. (The 3.0 licences have not been altered). Licences affecting what users see Note: The licence given to a file when uploaded to Moodle does not in any way affect its visibility on a course. It simply creates the default when it is being re-used elsewhere. This default licence can be changed at the time of display. Source: docs.moodle.org/503/en/admin/tool/licensemanager/index — MoodleDocs (GPL) · Imported 2026-11-10. algebra filter This page really needs improving. Please see the page comments for suggestions of what to include, then remove this template when you're done. Note: Although the Algebra filter is included in Moodle, it is recommended that you use the MathJax filter for writing Mathematical equations and expressions. Generally Moodle has an "algebra filter" which can display mathematical expressions as if they were typeset. The filter is included in the standard Moodle packages but the administrator must activate it before you can use it. NOTE: the use of the algebra filter REQUIRES that the Moodle Tex filter also be working as the algebra filter simply parses math expressions in one syntax and then converts the expressions to LaTex expressions for the Tex filter to render and display. The filter uses a borrowed perl script The filter (see http://cvs.moodle.org/moodle/filter/algebra/ ) uses algebra2tex.pl, a perl script (and its associated perl module, AlgParser.pm) to parse text expressions delimited by double@ signs as tokens (though the tokens employed can be tweaked manually.) NOTE perl script REQUIRES Perl. This is no problem with most Linux servers, but may be the cause for malfunctions in the Win world like broken connections. Exceptions / failures are NOT catched and reported via this Moodle filter. If there is no Perl available, activate Moodle Tex (as mentioned above) and use the JAVA Math Formula Editor. It is available after activating Tex. Minor corrections in the resulting Tex code don't need deeper digging in Tex fundamentals. While many have argued that the algebra filter is easy to use, there is apparently no Moodle reference on its "grammar" or "syntax". Research in to Webworks produced these two links for using webworks text expressions (the first one is arguably replaced by the second): http://webwork.math.rochester.edu/docs/docs/pglanguage/availableFunctions.html (no longer available.) http://webwork.maa.org/wiki/Mathematical_notation_recognized_by_WeBWorK (the connection is not clear.) See http://moodle.org/mod/forum/discuss.php?d=126522&parent=554632. There is a discussion of Algebra filter syntax at http://moodle.org/mod/forum/discuss.php?d=5402 offered by Zbigniew Fiedorowicz. It appears that as of Moodle.org moving to Moodle 2 (late 2010) the Algebra filter in the forums is no longer working. It also appears that the Algebra filter does not work in Moodle Docs (which is not Moodle code, but MediaWiki, which I don't believe has a ready filter based on algebra2tex.pl. Troubleshooting The file algebradebug.php is provided in the filter folder for the purpose of debugging. Problems may arise comes from the first tags in algebradebug.php define('NO_MOODLE_COOKIES', true); // Because it interferes with caching You can delete the line or set it to false. Source: docs.moodle.org/503/en/algebra filter — MoodleDocs (GPL) · Imported 2026-11-10. audio Audio is a very powerful tool to use in a Moodle course. Teachers and students can use audio actively, by recording short messages directly into the text editor. Teachers can also display audio so students can, for example to catch up on missed lectures, learn from podcasts, or improve their language skills by listening to native speakers interact. To use audio in Moodle to best effect, the Multimedia plugins filter must be enabled. 1 Recording short audio messages 2 Types of audio (sound) files 3 Ways of displaying audio 3.1 Linking to a sound file online elsewhere 3.2 Uploading audio 3.3 Embedding a sound file in its own player 3.3.1 Using the Moodle media icon 3.3.2 Using a hyperlink 3.3.3 Using embed code to display online audio 4 See also Recording short audio messages The Text editor allows teachers and students to record short audio messages by clicking the relevant icon. (If you don't see this setting in the editor, ask your administrator to check the RecordRTC settings.) Example uses are: Introductions in Forum posts Spoken assignments instead of typed Quiz questions where the teacher speaks the question Types of audio (sound) files The default VideoJS player will play the following audio files: mp3, .aac, .flac, .m4a, .oga, .ogg, .wav Ways of displaying audio Linking to a sound file online elsewhere If your audio file is hosted elsewhere online you can simply link to the relevant page by choosing URL from 'Add an activity or resource' and pasting in the relevant link given you by the site. Note that, in an establishment where certain sharing sites might be banned, your students might not be able to access your sound file through Moodle. Uploading audio If your browser allows resources to be dragged and dropped, then you can turn on the editing and drag the audio file directly onto the course page. A box will then appear for you to decide whether you want the audio embedded in a label, or added as a clickable file resource: Alternatively, you can upload the audio file by turning the editing on and choosing Add an activity or resource > File. Embedding a sound file in its own player Moodle includes a built-in audio player. If the relevant Multimedia plugins filter is enabled by the administrator and within the course, sound files embedded into the text editor will play inline. Using the Moodle media icon With your editing turned on, click into the HTML editor where you wish to embed your sound file. (It needs to be mp3.) Click the Multimedia icon. Drag and drop the file to upload it or add the URL of the file. Click the Browse repositories button to locate and upload your audio file from the repository where it is stored. (What you see depends on what the admin has enabled.) If you have it in more than one file type, then you can upload an alternative video by clicking 'Add alternative source'. This helps make your sound file play on more browsers and devices. Advanced settings allows you to decide how the file will play Subtitles and captions allows you to add subtitle files (VTT) in different languages and/or caption files, with descriptions, chapters and metadata. Subtitles, captions, chapters and descriptions can be added to videos and audios using WebVTT file format. These files can be created using caption making software or just plain text editor. Find out more about WebVTT format here (https://w3c.github.io/webvtt/) Click the Insert media button when you are ready. Your sound file will appear but not yet play. Once saved, your file will display in its own player: The playback rate (speed) of the audio can be changed. Using a hyperlink (Note - this method has no advantage over using the media icon, but was popular in older versions of Moodle) With your editing turned on, click into the HTML editor where you wish to embed your mp3 file. Type some blank spaces and select them. Click the hyperlink icon as in the following screenshot.(The icon will only be clickable if you have selected text or spaces) Click "Browse repositories": This takes you to the file picker. Follow the instructions for uploading/selecting your sound file as for using the Moodle media icon. When your file is chosen, it will appear in the link URL box as below. Click Create link" Don't panic! You will now only get a blue line in the HTML editor: When you click save changes to return to the main course page, your mp3 file will display. Using embed code to display online audio Some sites provide embed code/widgets that will enable you to play their mp3 files on your Moodle. First - go to your chosen site and copy this code of the mp3 file you wish to use. With your editing turned on, click into the HTML editor where you wish to embed the file. Click the HTML code icon as in the following screenshot: Paste your embed code into the box: Scroll down and click "update". The mp3 file will be previewed in the HTML editor. Click save changes for it to display on the page See also Media FAQ Speech tools Source: docs.moodle.org/503/en/audio — MoodleDocs (GPL) · Imported 2026-11-10. contenbank 1 What is the content bank? 2 Where is the content bank? 3 How does the content bank work? 4 H5P options 5 Content bank custom fields 6 Searching the content bank 7 Viewing unlisted content in the content bank 8 Restoring a course with a content bank 9 Admin settings 10 Capabilities 10.1 Repository: Content bank 10.2 Course 10.3 H5P What is the content bank? The content bank is an area in Moodle where content (currently H5P content) may be stored, edited and created. The content bank repository gives access to these files from the file picker. Content bank Where is the content bank? As a teacher, when you are in a course you'll find a link to the content bank from Course navigation > More (Boost-based themes) or under Site pages (Classic-based themes). Files may be viewed in list view by clicking the icon top right of the content bank. The content bank repository is available from the file picker to locate and add H5P files into courses. How does the content bank work? New H5P content may be created via the Add button. It can be edited by clicking into the content then clicking Edit: Editing existing H5P H5P activities can also be uploaded into the content bank then edited if required. H5P activity types available in the content back are automatically downloaded via CRON or can manually be added by uploading h5p activity files (*.h5p). H5P options Click into an H5P activity and from the More dropdown, access the option you want: Click on More and select Copy content to make a copy of an activity which you can then edit. Content bank custom fields If your admin has created a content bank custom field from Site administration > Plugins > Content bank > Content bank custom fields, this will be available when creating or editing an H5P file. Searching the content bank The search field above the content bank allows you to search for H5P content in the course you are in. When adding an H5P activity from Add an activity or resource > H5P, you can search the content bank for H5P in other courses and categories, depending on permissions. Searching the content bank Viewing unlisted content in the content bank Teachers can make their own content listed or unlisted from the dropdown and can view their own unlisted content. Only those with the capability View unlisted content from the content bank repository can view all unlisted content both in the content bank and file picker. Those with the capability View unlisted content from the content bank repository can check/uncheck a box to hide or show unlisted content. Restoring a course with a content bank When restoring a course, the content bank contents are also restored to the new course. Please keep in mind that the user who restores the course will be the owner of the content bank contents in the new course, and this will affect who can edit or delete the contents based on the Delete any content from the content bank and Manage any content from the content bank capabilities. Admin settings From Site administration > Plugins > Content bank > Manage content types, you can enable and disable H5P content. From Site administration > Plugins > Content bank > Content bank custom fields you can create custom fields for teachers to use when creating and editing an H5P file. From Site administration > Repositories > Content bank you can rename the content bank repository if desired. Capabilities Repository: Content bank Access course category content bank files - allowed for the default roles of manager and course creator Access system content bank files - allowed for the default role of authenticated user Access course content bank files - allowed for the default roles of manager, course creator and teacher View content bank repository - allowed for the default roles of manager, course creator and teacher View unlisted content from the content bank repository - allowed for the default roles of manager and course creator. Course Access the content bank - allowed for the default roles of manager, course creator and teacher Delete any content from the content bank - allowed for the default roles of manager and course creator Delete content from own content bank - allowed for the default role of authenticated user Manage any content from the content bank - allowed for the default roles of manager and course creator Manage content from own content bank - allowed for the default roles of manager, course creator and teacher Upload new content to the content bank - allowed for the default roles of manager, course creator and teacher Create or edit content using a content type editor - allowed for the default roles of manager and course creator Download content from the content bank - allowed for the default roles of manager, course creator and teacher. H5P Access H5P content in the content bank - allowed for the default roles of manager, course creator and teacher Upload new H5P content - allowed for the default roles of manager, course creator and teacher Create or edit content using the H5P editor - allowed for the default roles of manager, course creator and teacher Source: docs.moodle.org/503/en/contenbank — MoodleDocs (GPL) · Imported 2026-11-10. contentbank 1 What is the content bank? 2 Where is the content bank? 3 How does the content bank work? 4 H5P options 5 Content bank custom fields 6 Searching the content bank 7 Viewing unlisted content in the content bank 8 Restoring a course with a content bank 9 Admin settings 10 Capabilities 10.1 Repository: Content bank 10.2 Course 10.3 H5P What is the content bank? The content bank is an area in Moodle where content (currently H5P content) may be stored, edited and created. The content bank repository gives access to these files from the file picker. Content bank Where is the content bank? As a teacher, when you are in a course you'll find a link to the content bank from Course navigation > More (Boost-based themes) or under Site pages (Classic-based themes). Files may be viewed in list view by clicking the icon top right of the content bank. The content bank repository is available from the file picker to locate and add H5P files into courses. How does the content bank work? New H5P content may be created via the Add button. It can be edited by clicking into the content then clicking Edit: Editing existing H5P H5P activities can also be uploaded into the content bank then edited if required. H5P activity types available in the content back are automatically downloaded via CRON or can manually be added by uploading h5p activity files (*.h5p). H5P options Click into an H5P activity and from the More dropdown, access the option you want: Click on More and select Copy content to make a copy of an activity which you can then edit. Content bank custom fields If your admin has created a content bank custom field from Site administration > Plugins > Content bank > Content bank custom fields, this will be available when creating or editing an H5P file. Searching the content bank The search field above the content bank allows you to search for H5P content in the course you are in. When adding an H5P activity from Add an activity or resource > H5P, you can search the content bank for H5P in other courses and categories, depending on permissions. Searching the content bank Viewing unlisted content in the content bank Teachers can make their own content listed or unlisted from the dropdown and can view their own unlisted content. Only those with the capability View unlisted content from the content bank repository can view all unlisted content both in the content bank and file picker. Those with the capability View unlisted content from the content bank repository can check/uncheck a box to hide or show unlisted content. Restoring a course with a content bank When restoring a course, the content bank contents are also restored to the new course. Please keep in mind that the user who restores the course will be the owner of the content bank contents in the new course, and this will affect who can edit or delete the contents based on the Delete any content from the content bank and Manage any content from the content bank capabilities. Admin settings From Site administration > Plugins > Content bank > Manage content types, you can enable and disable H5P content. From Site administration > Plugins > Content bank > Content bank custom fields you can create custom fields for teachers to use when creating and editing an H5P file. From Site administration > Repositories > Content bank you can rename the content bank repository if desired. Capabilities Repository: Content bank Access course category content bank files - allowed for the default roles of manager and course creator Access system content bank files - allowed for the default role of authenticated user Access course content bank files - allowed for the default roles of manager, course creator and teacher View content bank repository - allowed for the default roles of manager, course creator and teacher View unlisted content from the content bank repository - allowed for the default roles of manager and course creator. Course Access the content bank - allowed for the default roles of manager, course creator and teacher Delete any content from the content bank - allowed for the default roles of manager and course creator Delete content from own content bank - allowed for the default role of authenticated user Manage any content from the content bank - allowed for the default roles of manager and course creator Manage content from own content bank - allowed for the default roles of manager, course creator and teacher Upload new content to the content bank - allowed for the default roles of manager, course creator and teacher Create or edit content using a content type editor - allowed for the default roles of manager and course creator Download content from the content bank - allowed for the default roles of manager, course creator and teacher. H5P Access H5P content in the content bank - allowed for the default roles of manager, course creator and teacher Upload new H5P content - allowed for the default roles of manager, course creator and teacher Create or edit content using the H5P editor - allowed for the default roles of manager, course creator and teacher Source: docs.moodle.org/503/en/contentbank — MoodleDocs (GPL) · Imported 2026-11-10. contentbank/edit 1 What is the content bank? 2 Where is the content bank? 3 How does the content bank work? 4 H5P options 5 Content bank custom fields 6 Searching the content bank 7 Viewing unlisted content in the content bank 8 Restoring a course with a content bank 9 Admin settings 10 Capabilities 10.1 Repository: Content bank 10.2 Course 10.3 H5P What is the content bank? The content bank is an area in Moodle where content (currently H5P content) may be stored, edited and created. The content bank repository gives access to these files from the file picker. Content bank Where is the content bank? As a teacher, when you are in a course you'll find a link to the content bank from Course navigation > More (Boost-based themes) or under Site pages (Classic-based themes). Files may be viewed in list view by clicking the icon top right of the content bank. The content bank repository is available from the file picker to locate and add H5P files into courses. How does the content bank work? New H5P content may be created via the Add button. It can be edited by clicking into the content then clicking Edit: Editing existing H5P H5P activities can also be uploaded into the content bank then edited if required. H5P activity types available in the content back are automatically downloaded via CRON or can manually be added by uploading h5p activity files (*.h5p). H5P options Click into an H5P activity and from the More dropdown, access the option you want: Click on More and select Copy content to make a copy of an activity which you can then edit. Content bank custom fields If your admin has created a content bank custom field from Site administration > Plugins > Content bank > Content bank custom fields, this will be available when creating or editing an H5P file. Searching the content bank The search field above the content bank allows you to search for H5P content in the course you are in. When adding an H5P activity from Add an activity or resource > H5P, you can search the content bank for H5P in other courses and categories, depending on permissions. Searching the content bank Viewing unlisted content in the content bank Teachers can make their own content listed or unlisted from the dropdown and can view their own unlisted content. Only those with the capability View unlisted content from the content bank repository can view all unlisted content both in the content bank and file picker. Those with the capability View unlisted content from the content bank repository can check/uncheck a box to hide or show unlisted content. Restoring a course with a content bank When restoring a course, the content bank contents are also restored to the new course. Please keep in mind that the user who restores the course will be the owner of the content bank contents in the new course, and this will affect who can edit or delete the contents based on the Delete any content from the content bank and Manage any content from the content bank capabilities. Admin settings From Site administration > Plugins > Content bank > Manage content types, you can enable and disable H5P content. From Site administration > Plugins > Content bank > Content bank custom fields you can create custom fields for teachers to use when creating and editing an H5P file. From Site administration > Repositories > Content bank you can rename the content bank repository if desired. Capabilities Repository: Content bank Access course category content bank files - allowed for the default roles of manager and course creator Access system content bank files - allowed for the default role of authenticated user Access course content bank files - allowed for the default roles of manager, course creator and teacher View content bank repository - allowed for the default roles of manager, course creator and teacher View unlisted content from the content bank repository - allowed for the default roles of manager and course creator. Course Access the content bank - allowed for the default roles of manager, course creator and teacher Delete any content from the content bank - allowed for the default roles of manager and course creator Delete content from own content bank - allowed for the default role of authenticated user Manage any content from the content bank - allowed for the default roles of manager and course creator Manage content from own content bank - allowed for the default roles of manager, course creator and teacher Upload new content to the content bank - allowed for the default roles of manager, course creator and teacher Create or edit content using a content type editor - allowed for the default roles of manager and course creator Download content from the content bank - allowed for the default roles of manager, course creator and teacher. H5P Access H5P content in the content bank - allowed for the default roles of manager, course creator and teacher Upload new H5P content - allowed for the default roles of manager, course creator and teacher Create or edit content using the H5P editor - allowed for the default roles of manager, course creator and teacher Source: docs.moodle.org/503/en/contentbank/edit — MoodleDocs (GPL) · Imported 2026-11-10. eportfolio Portfolios in Moodle make it easy for a student to export their work to an external portfolio. For example, student work might include forum posts or assignment submissions that they believe demonstrates their knowledge. Portfolios are disabled by default in Moodle and must be enabled by a site administrator. See Managing portfolios for details. File download Flickr.com Google Drive Mahara ePortfolio Portfolios FAQ 1 Exporting to portfolio 2 Items which may be exported to portfolio 3 Export formats 4 Managing your own portfolios 5 See also Exporting to portfolio When portfolios are enabled, forum posts and other exportable data (see below) have an export to portfolio icon or link beside them. To export an assignment submission to a portfolio Click the 'Export to portfolio' link Select the portfolio you wish to export to e.g. Google Docs or file download (this step will be skipped if there's only one) If prompted, select an export format e.g. HTML If file download was selected in step 2, you can then save the file, otherwise you will be given the option to return to the page you were previously viewing or visit your portfolio (certain portfolios only) Items which may be exported to portfolio Assignment submissions - single and multiple file uploads Chat sessions Database activity module entries (##export## tag may be added to list and single templates) Database activities Forum posts Glossary entries Export formats Possible export formats include HTML LEAP2A, a specification for e-portfolio portability Images Text File Managing your own portfolios While the administrator determines which portfolios are enabled on the site in Managing portfolios, an individual user can choose which portfolios to display or hide from the preferences page of the user menu top right, in the section "Portfolios." See also Exabis e-portfolio block Portfolio module Portfolio Plugin for Evernote e-Portfolio overview at Wikipedia Source: docs.moodle.org/503/en/eportfolio — MoodleDocs (GPL) · Imported 2026-11-10. file picker 1 What is the file picker? 2 Getting files from the file picker 3 Viewing your files in the file picker 3.1 View as icons 3.2 View as table 3.3 View as a list What is the file picker? The file picker enables files to be selected and displayed in Moodle - for example, when an editing teacher clicks Add an activity or resource > File, or when a forum participant adds an attachment to a post. Usually the file is copied into Moodle from wherever you have chosen it from (e.g. a repository or your computer), though for certain repositories, such as the Youtube videos repository, a link is created, and in some situations an alias/shortcut may be created. Load video YouTube YouTube might collect personal data. Privacy Policy Overview of the file picker in Moodle Getting files from the file picker When the file picker screen appears, a number of links are listed down the side. These are links to Repositories which hold files you might want to use. There is also a link Upload a file which you would click on to add a file yourself from your computer. Which repositories are included depends on which ones have been enabled by the administrator and also the context in which you access the file picker. For example, if you have reached the file picker by clicking on the media icon in the TinyMCE text editor then you might see the Youtube videos repository link. If you have reached the file picker by clicking on the image icon in the TinyMCE text editor then you might see the Flickr repository repository link. See Repositories for the list of available repositories. Note: The order in which repositories are listed in the file picker is set by an administrator in Settings > Site administration > Plugins > Repositories > Manage repositories. Viewing your files in the file picker There are three ways to view files in the File picker, depending on your personal preference; View as icons This shows the files as easily identifiable thumbnails: View as table This shows the files with details such as licence, date uploaded, size etc.: View as a list This shows the files in a hierarchical list: Source: docs.moodle.org/503/en/file picker — MoodleDocs (GPL) · Imported 2026-11-10. files/converter/unoconv/testunoconv Note: Unoconv is deprecated. There is rewrite of Unoconv called "Unoserver" but Moodle does not currently support it. See MDL-75066 1 What is unoconv? 2 Installing unoconv on Linux 2.1 Ubuntu 18.04 LTS 2.2 Ubuntu 22.04 LTS 2.3 Ubuntu 16.04 LTS 2.4 Ubuntu 14.04 LTS 2.5 CentOS / RedHat 3 Installing unoconv on OS X 4 Installing unoconv on Windows 5 Run a unoconv listener 6 Offload processing to a different server 7 Additional resources 8 See also What is unoconv? "unoconv" is a command line program that is used to convert between different office document file formats. It uses an instance of LibreOffice to do the conversion and is used by the Assignment activity to convert documents to pdf so that they can be annotated. If unoconv is not installed - the only impact is that the assignment activities will only allow annotations when students upload a pdf document. The steps required to install unoconv are different depending on the operating system that you have installed Moodle on. Installing unoconv on Linux The required version of unoconv is at least 0.7. Depending on your flavour of linux, this may be available in your package manager and you can install it directly with: Ubuntu 18.04 LTS apt-get install unoconv mkdir /var/www/.config chown www-data:www-data /var/www/.config Ubuntu 22.04 LTS You will need to install Python 3, and note that the unoconv will only support Python up to 3.11. sudo apt install python3 To download the latest version of unoconv (0.8.2): cd /opt sudo git clone https://github.com/unoconv/unoconv.git sudo nano /opt/unoconv/unoconv Change the first line of code by adding the number 3 to the Python version, as per the example below: #!/usr/bin/env python3 Permissions and run link: sudo chmod ugo+x /opt/unoconv/unoconv sudo ln -s /opt/unoconv/unoconv /usr/bin/ Now we need LibreOffice installed: sudo add-apt-repository ppa:libreoffice/ppa sudo apt install libreoffice -y Production servers should consider running unoconv in listener mode, see Installing unoconv#Run a unoconv listener or follow directions below: sudo nano /etc/systemd/system/unoconv.service And then copy and paste the following configuration into it: [Unit] Description=Unoconv listener for document conversions Documentation=https://github.com/dagwieers/unoconv After=network.target remote-fs.target nss-lookup.target [Service] Type=simple ExecStart=/usr/bin/unoconv --listener [Install] WantedBy=multi-user.target And then enable and start the above service: sudo systemctl enable unoconv.service sudo systemctl start unoconv.service Ubuntu 16.04 LTS apt-get install unoconv If your package manager contains an older version of the package, you will have to find a newer version and install it manually (Debian Testing). Unoconv itself is just a python script, so it has few dependencies. Potential problems: On some systems the apache user home directory is set to a non existent folder. This can cause unoconv to fail. There are 2 solutions to this - one is to make a (writable) home directory for the apache user (like /home/www-data). The other is to run a unoconv listener (described below) as another user other than the apache user (someone with a valid, writable home directory). If you are still running 14.04LTS then unoconv won't work as shipped. This might not be the most efficient route but it worked by first installing unoconv (version 0.6) from the package manager as above. You will then need to grab unoconv 0.7 from Github (https://github.com/dagwieers/unoconv), then upgrade to the latest libreoffice using the PPA (https://launchpad.net/~libreoffice/+archive/ubuntu/ppa). Point moodle at the Github version of unoconv. You need to modify the Python unoconv file by changing 'python' in the first line to 'python3'. You also need to change the permissions on the directory /var/www so that the user www-data can write to it (www-data needs to write to its home directory which it cannot do by default). On Debian Stable, the cleanest method to install unoconv is using Jessie-backports. First, enable backports repo line in /etc/apt/sources.list: #### Jessie-backports #### deb http://ftp.debian.org/debian jessie-backports main Then, update and install unoconv from jessie-backports: apt-get update apt-get install -t jessie-backports unoconv The package will bring all necessary dependencies for you. Ubuntu 14.04 LTS 1) Navigate to opt directory cd /opt 2) Download unoconv sudo wget https://raw.githubusercontent.com/dagwieers/unoconv/master/unoconv 3) Modify the Python unoconv file by changing 'python' in the first line to 'python3' sudo nano /opt/unoconv e.g. #!/usr/bin/env python3 4) Make unoconv executable sudo chmod ugo+x /opt/unoconv 5) Add LibreOffice PPA to your system and install the latest version sudo add-apt-repository ppa:libreoffice/ppa sudo apt-get update sudo apt-get install libreoffice 6) Change permissions so apache can write to its home directory sudo chown www-data /var/www 7) From your browser navigate to Site administration > Server > System paths and add the path to unoconv /opt/unoconv Note: if you would like to preserve the default path add a symbolic link to /usr/bin: sudo ln -s /opt/unoconv /usr/bin/ 8) Navigate to Site administration > Plugins > Activity modules > Assignment > Feedback plugins > Annotate PDF > Test unoconv path You should see: "The unoconv path appears to be properly configured." Download the converted pdf test file. (if the PDF fails to load ensure that www-data can write to its home directory: /var/www) CentOS / RedHat Just before you start, you might like to consider installing the latest LibreOffice 6.3.2 directly from RPM packages, that are not part of the distribution you are using. As of nov-2016, CentOS and RedHat 7.2 comes with OpenOffice 4.3 . so if you are not interested in using this version and would like to install latest 6.3 independent LibreOffice 6.3, please remove any openoffice packages you might have on your OS by issuing: yum remove openoffice* libreoffice* It is recommended to chose your localized libreoffice version for better document conversions. yum install libreoffice libreoffice-pyuno git clone https://github.com/dagwieers/unoconv.git # copy cp unoconv/unoconv /usr/bin # or link unoconv to /usr/bin ln -s unoconv/unoconv /usr/bin/unoconv Note: depends on what version you are installing, openoffice or libreoffice, make sure you installed the *-pyuno package. (the headless package is already compiled into the core) Make sure it is properly configured: http://your-moodle/admin/search.php?query=unoconv Production servers should consider running unoconv in listener mode, see Installing unoconv#Run a unoconv listener or follow directions bellow vi /etc/systemd/system/unoconv.service And then copy and paste the following configuration into it: [Unit] Description=Unoconv listener for document conversions Documentation=https://github.com/dagwieers/unoconv After=network.target remote-fs.target nss-lookup.target [Service] Type=simple Environment="UNO_PATH=/usr/lib64/libreoffice/program" ExecStart=/usr/bin/unoconv --listener [Install] WantedBy=multi-user.target And then enable and start the above service systemctl enable unoconv.service systemctl start unoconv.service If your selinux is enable yous should set #setsebool -P httpd_execmem on Installing unoconv on OS X Download and install LibreOffice for Mac. Unfortunately - newer versions of LibreOffice are not currently compatible with unoconv for mac and you will have to install LibreOffice 4.2 (Direct download link - https://downloadarchive.documentfoundation.org/libreoffice/old/4.2.5.2/mac/x86_64/LibreOffice_4.2.5.2_MacOS_x86-64.dmg). Get the latest version of the unoconv python script. One way to do this is with http://brew.sh/ brew. brew install unoconv If you haven't done it already - install ghostscript. One way to install ghostscript is also with http://brew.sh/ brew brew install ghostscript Set the paths to unoconv and ghostscript in Moodle (Site administration > Server > System paths). If you used brew, they will both be installed to /usr/local/bin. LibreOffice needs write access to the current users home directory to create some temporary files. When unoconv is run as the webserver user (_www) it does not normally have this permission. There are some ways to get around this - one way is just to give the "_www" user write access to /Library/WebServer. Another solution is to convince LibreOffice that this users home directory is somewhere else. This can be done by inserting this code into the top of the unoconv python script. Code to insert: # Set home to a writable folder. os.environ['HOME'] = '/tmp/' This needs to be inserted at line 36 immediately after the line "exitcode = 0" Installing unoconv on Windows Download and install LibreOffice for Windows. Open Office will work just as well, but the documentation for unonconv is set to Libre Office. Download the latest version of the unoconv script from https://github.com/dagwieers/unoconv/releases (download the zip version). From the downloaded zip file - extract the one file unoconv-0.7\unoconv (no file extension). This is the unoconv script - none of the other files in the package are required. Rename the downloaded script to unoconv.py and copy it to a folder in either C:\Program Files or C:\Program Files (x86). Create a batch file in the same folder as unoconv.py name it something like unoconv.bat, it must be a batch file, with these contents: @"C:\Program Files\LibreOffice\program\python.exe" c:\unoconv\unoconv.py %* or: @"C:\Program Files\OpenOffice\program\python.exe" c:\unoconv\unoconv.py %* Next, you have to Set paths in Moodle. Login as admin and go to Site administration > Server > System paths Set: Path to Ghostscript (pathtogs) to C:\Program Files\gs\gsversion\bin\gswin64c.exe. Do not use gswin32.exe or gswin64.exe, these are not command line programs - use gswin32c.exe or gswin64c.exe. Set: Path to Python (pathtopython) to C:\Program Files (x86)\OpenOffice\program\python.exe or C:\Program Files (x86)\LibreOffice\program\python.exe. Identify in the path whichever program you use and include the full exe name for both Ghostscript and Python. Save the pathto statements and a green tick should appear if Moodle is communicating with the required files. Go to Site administration > Plugins > Document converters and enable Unoconv then select Settings Enter the path statement to Path to unoconv document converter: C:\Program Files (x86)\unoconv\unoconv.bat. Include the full name of the .bat file. Test ghostscript and unoconv are working correctly in the admin test pages Site administration > Plugins > Activity modules > Assignment > Feedback plugins > Annotate PDF. Run a unoconv listener Unoconv utilises a client/server process when converting documents. By default, when there is no running server process - each time unoconv runs it will start a server process, send its request and shut down the server process when the request is complete. The drawback of this mode is that if 2 requests are submitted simultaneously - this can cause the first request to shutdown the server process when the second request is still in progress - and the second conversion request fails. A more robust way to configure unoconv is to start a server process at boot time, and/or run a script to monitor it and restart it if it crashes. To start a unoconv listener at boot time - you need a start up script. Different operating systems and Linux distributions use different startup scripts - but here are some examples of startup scripts for different systems. Upstart script for Ubuntu based systems Launchd script for OS X Init script for Debian Init script for CentOS/RedHat 6.x SystemD service script for CentOS/RedHat 7.x Offload processing to a different server Processing office documents can put increased load on your webserver, which may impact on the responsiveness of your site. If you are installing unoconv on a large site you may want to consider running unoconv on a server that is not also serving web requests. How to do this: Install unoconv on each webservers and the remote server following the installation instructions above. Make sure unoconv is started at boot time on the remote server with the "--listener" argument and is monitored and restarted if it exits (see Debian init script for an example of how to do this). By default, unoconv will only listen on localhost (127.0.0.1): if you want to connect to the listener process from another server, you need to start the unoconv listener process with the "--server" argument too! An example command for starting a listener on a remote server (0.0.0.0 listens on all interfaces): unoconv --listener --server 0.0.0.0 --port 2002 Open the firewall port 2002 between the moodle webservers and the machine running unoconv. Share the moodle data root between the webservers and the machine running unoconv. This folder must be mounted at the same path on all servers. Install a wrapper for unoconv on the webservers that forwards the requests to the remote server. Example: #!/bin/bash # Wrapper script for unoconv to forward processing. # Install to /usr/bin/unoconv-remote with 755 permissions /usr/bin/unoconv --server= "$@" Configure the path to unoconv in the Moodle admin settings to point to this wrapper script. Additional resources GitHub dagwieers/unoconv has additional information on installation of unoconv and troubleshooting tips. See also Is the unoconv installation a security risk? forum discussion Source: docs.moodle.org/503/en/files/converter/unoconv/testunoconv — MoodleDocs (GPL) · Imported 2026-11-10. filter/censor/config Note: The word censorship filter has been removed from new installations of Moodle 4.1. The code for the Word censorship filter is currently available from the Plugins directory. The word censorship filter enables certain user-selected words to be "blacked out" in the flow of any text submitted within a course. The primary use is for censoring obscene or other unwanted words entered by learners in activities like Forums and Wikis. 1 Custom list of censored Words 2 Default censored Words 3 Tips and Tricks 4 See also Custom list of censored Words The word censorship settings page Administration > Site administration > Plugins > Word censorship allows a site administrator to edit a custom list of words (bad words) to be censored within your Moodle installation. To avoid inadvertently causing offence, there is no default bad word list on the Word censorship settings page. If the custom list is empty, the default list from the language pack will be used. Default censored Words The default bad word list is contained within the filter_censor.php file within each language pack installed on your Moodle site. To change the default bad word list go to Administration > Site administration > Language > Language Customization and check out the required language pack. Select the filter_censor.php file under the filters subheading from the strings list and click Show strings. Warning: You may find the content of this file offensive. Tips and Tricks If you would prefer not to display a custom list of censored words on the Word Censorship Settings page, customize the filter_censor.php file the language directly If you have multiple language packs installed and in use within your Moodle site, remember to edit each language pack and/or add custom censored words in all languages. See also Using Moodle filtering profanity forum discussion Source: docs.moodle.org/503/en/filter/censor/config — MoodleDocs (GPL) · Imported 2026-11-10. filter/manage Filters can be used to add links, insert multimedia players, convert Mathematical expressions or emoticons into images and more. A filter may be enabled at the site level and then removed as needed at the course or activity level. Thus a teacher can disable glossary auto-linking in a quiz for example. Load video YouTube YouTube might collect personal data. Privacy Policy Overview of course filters Standard filters Filters in Moodle include: Activity names auto-linking - Scans course text for activity titles that exist in the same course and creates a link to them Algebra notation - Convert algebra code into images Code highlighter filter - adds colour to code in the TinyMCE editor. Convert URLs into links and images - Converts URLs in selected formats, such as Moodle auto-format, to click-able links Database auto-linking - Enables automatic linking of course Database activity entries Display emoticons as images - Converts textual emoticon (smiley) characters into images Email protection - Obfuscates email address links to make them more difficult for spammers to harvest Glossary auto-linking - Scans text for glossary entries that exist in the same course and creates a link MathJax - For adding mathematical equations and expressions using an equation editor Multimedia plugins - Converts HTML links in text that points to a multimedia resource and replaces the link with an appropriate multimedia players Multi-Language content - Enables resources to be created in multiple languages TeX notation Displaying math formulae in TeX notation using images Word censorship - This filter "blacks out" words found on a list you can manage Contributed filters Filters have also been made by developers in the community. Some docs online for these include: FontAwesome - This scans text for icons that can be embedded using the FontAwesome icon set. IPA - Renders simple X-SAMPA markup in the International Phonetic Alphabet PoodLL - is the core PoodLL plugin for Moodle. It contains all the recorders, widgets and the code that makes it possible to use them around Moodle. It is a required component for all the other PoodLL plugins. filter generico - gives you considerable ability to customize your Moodle site without having to resort to multiple plugins, or custom PHP coding filter multiembed - Facilitates embedding of third-party content from a growing list of service providers (e.g. Prezi, Haiku Deck, etc.) See also Managing filters Common filter settings for the site Filters FAQ Source: docs.moodle.org/503/en/filter/manage — MoodleDocs (GPL) · Imported 2026-11-10. filter/multilang/config 1 Displaying text in multiple languages 2 Enabling the multi-language content filter 3 How to use in a course 3.1 Correct structure 3.2 Incorrect structure 4 How to use for assignment submission agreements 5 How it works internally 6 Common problems 7 The 'Restriction by language' additional plugin 8 The Multi-Language Content (v2) additional plugin and Multi-Language Content text editor plugins 9 The Multi-Lingual Content additional plugin 10 Any questions? 11 See also Displaying text in multiple languages The multi-language content filter enables resources to be created in multiple languages. When turned on, it looks for tags which indicate that a text contains multiple languages. Then it selects and outputs the text in the user's language (as set in their browser or in their preferences). Enabling the multi-language content filter An admin can enable the multi-language content filter as follows: Go to Site administration > Plugins > Filters > Manage filters and in the dropdown menu for multi-language content select 'On'. If headings are to be shown in multiple languages too, select 'Content and headings' in the 'Apply to' column. Go to Site administration > Plugins > Filters > Common filter settings and ensure that 'Filter navigation with system context' is turned on. Turning on 'Apply to' 'Content and headings' without also turning on the setting at Step 3. can significantly slow down your Moodle site. How to use in a course To use this feature first create your content in multiple languages (in the same resource). Then enclose each language block (aka multilang block) in the following tags: your_content_here your_content_in_other_language_here It is essential to be in the code editing mode (press [<>] in the HTML editor), when you enter these tags for them to work. Only spaces, tabs and enters can be used between the individual languages in the multilang block. It is important to ensure each multilang block is nested in the same parent element as the other related multilang blocks. Correct structure Each multilang block is nested together inside the parent element. your_content_here your_content_in_other_language_here Incorrect structure Each multilang block is nested in its own parent element. your_content_here your_content_in_other_language_here Note: If your site uses a child language pack (see Language packs for the list), then the first span tag must be the parent language. Otherwise, when a user using the child language views the text, it will not be in the correct language for them (as reported in MDL-55197). For example, if your site uses en_us then the en span tag (as parent language) must be first i.e. your_content_in English your_content_in_German_here How to use for assignment submission agreements With the filter enabled, go to Site administration > Plugins > Activity modules > Assignment > Assignment settings. In the submission statement, add (for example) This assignment is my own work, except where I have acknowledged the use of the works of other people. Ce devoir est le fruit de mon travail personnel, sauf aux endroits où l'utilisation d'oeuvre d'autres auteurs est clairement indiquée. How it works internally Filter first looks for multilang blocks in the text For each multilang block: If there are texts in the currently active language, print them Else, if there exists texts in the current parent language, print them Else, print the first language found in the text Text outside of multilang blocks will be shown always Common problems The multi-lang filter is not enabled. It can be enabled in 'Manage filters' in the Site administration'. Headings aren't displaying correctly - the multi-lang filter should be set to apply to content and headings in 'Manage filters' in the Site administration'. Extra characters between language span tags - editor might add or other tags, please review the html in source view If the course setting is "force" some language, you won't be able to change the displayed language. Extra spaces in language span tag The 'Restriction by language' additional plugin Restriction by language Language filters are great, but sometimes they can make your resources and activities very complex. The Restriction by language availability condition is an additional plugin that makes it easy to show an English resource only to English users and an activity in French only to French speaking students. The Multi-Language Content (v2) additional plugin and Multi-Language Content text editor plugins There is also an alternative multi-language content filter available called Multi-language Content (v2). This filter uses very simple non-HTML tags to mark multi-language blocks (makes it easier to create multi-language content), and can be used together with the Multi-Language Content TinyMCE plugin to make it even easier to create multi-language content directly on the text editor without using the HTML view mode. The Multi-Lingual Content additional plugin Multi-lingual Content is a more flexible version of the multilang filter. One of three possible choices can be selected by the filter admin setting: HTML syntax, Non HTML syntax or Both. If the non html syntax is chosen language block looks like: {mlang en}English{mlang}{mlang bg}Bulgarian{mlang}. In case of Html syntax, language block is a sequence of identical html tags with lang="XX" attributes span or div or any other. Any questions? Please post in the Languages forum on moodle.org. See also Language Custom menu items in Theme settings Is the official language filter the way to go? (What's your experience?) Translation of MOOC forum discussion and solution Source: docs.moodle.org/503/en/filter/multilang/config — MoodleDocs (GPL) · Imported 2026-11-10. filter/tex/config The TeX Filter is a core Moodle filter intended to allow one to convert tex expressions into GIF, PNG or SVG images. The filter relies on some additional binaries to accomplish this for expressions contained between appropriate tokens. Where these binaries are not available, Moodle provides for a fallback through the use of Mimetex. Versions of MimeTex for Linux (glib2.3 32bit), Windows, Mac OS X and FreeBSD are included in the Moodle distribution. There are other technologies available for displaying Tex (see the section on Mathematics tools for a discussion.) Note: being based on binaries it requires the availability of three PHP program execution functions: exec, shell_exec and system. 1 Methods and Usage 2 MimeTeX 3 Compatability with MathJax 4 Site administration settings 4.1 Installing the binaries 4.2 LaTeX preamble 4.3 Transparent colour 4.4 Density 4.5 Path of latex binary 4.6 Path of dvips binary 4.7 Path of convert binary 4.8 Path of dvisvgm binary 4.9 Path of mimetex binary 5 Debugging TeX filter 6 See also Methods and Usage To avoid confusion you should note that the TeX filter has two separate methods for converting the TeX notation to images. The preferred method is a collection of three binaries that you are responsible for installing (if they are not already present, though many webhosts make these available) and configuring on your server. The filter settings page relates entirely to this method. If this fails for any reason the filter will fall back to a single binary - MimeTeX. A number of different builds are included in the Moodle distribution for popular operating systems, though Mimetex and its bigger brother, MathTex are easy enough to compile and install if you have systems administration experience. Before doing anything else, you need to go to Settings > Site administration > Plugins > Filters and activate the TeX Notation Filter. If you want to use the Algebra filter (another core filter) since the Algebra Filter is really only a "front end" to the Tex filter, you should also turn on the Algebra filter. For more information on the Algebra Filter see the Algebra filter. Once the filter is turned on and properly configured you can make use of it by including a TeX expression delimited by double-dollar signs. Example: $$ \sqrt{x + y} $$ If this does not display properly, see the information on debugging. MimeTeX Moodle may use a pre-built MimeTeX binary (located in the filters/tex directory) as a fallback if it can't properly access dvips, convert and latex binaries. There are a number of different versions for different operating systems. The TeX filter picks the appropriate binary for the detected host operating system (you will need to hack the script if your operating system is not included). Note that your web server needs to be set up with appropriate permissions for running binaries in that location. The MimeTeX manual is available but is arguably intended for persons with systems administration experience and does not specifically address the Moodle environment. You should only use MimeTeX if installing the full LaTeX system fails or the binaries are not available on your system. The results are not nearly as good. Compatability with MathJax In Moodle 2.8 onwards, the TeX Notation and MathJaxloader filter may be used in combination. If both filters are enabled on the page, images will be displayed first by the TeX notation filter, and the MathJax version of the TeX expression will replace a little while later when MathJax has finished loading and processing. If both filters are available, a teacher may decide which to use in an activity by enabling one and disabling the other. Site administration settings Location: TeX Notation settings link in Settings > Site administration > Plugins > Filters > Manage filters The TeX filter settings page are primarily intended to adjust the operation of the LaTeX renderer. The defaults for the three path settings are selected according to the detection of the operating system on which Moodle is running. These are simply suggested common values - Moodle does not check that the binaries actually exist at these locations. More recent versions of Moodle show a green tick or a red cross next to the path setting - this shows that the binary exists at that location (only). The settings have no effect on the operation of the MimeTex binary (used if any of these binaries are not found). Installing the binaries This depends on your platform, but for a typical install you are going to need a LaTeX implementation. On modern Linux implementations you should look for the 'texlive' package (e.g. apt-get install texlive) although a Windows version is available (see Tex Live). It is highly unlikely that you will have all these binaries as part of a standard install. If you cannot find texlive you may have to install LaTeX, Ghostscript and ImageMagick separately. While not endorsed by Moodle.org, a simple installation binary for Windows is MikTeX. For security reasons, you should ensure shell escape is disabled (shell_escape = f) in your LaTeX configuration (if is enabled, this will be set to "t"). This is to prevent the risk of users being able to execute external commands. Note that this is usually disabled by default. (If this is set to "p" i.e. restricted mode, a predefined set of commands are allowed, if this is the desired behaviour, be extremely careful which commands are allowed given all users will have access to these). The filter settings page will try to guess the most likely location for the binary files depending on the detected platform. If correct, green ticks will appear against each setting. If red crosses appear you will need to check and modify the settings as required. A simple check is made to establish if the binaries exist at the given paths. A tick or a cross is displayed alongside each as a result. Note that this does not check that the application actually works, just that it is there. Some systems supply the fonts as separate packages. If you are having problems make sure you have all the fonts you need installed. You may need to track down an 'extra' fonts package to get the required maths fonts. LaTeX preamble Enables the LaTeX preamble to be specified. The default should work for most users, but you may need to change it to support non-Latin character sets etc. Please see the LaTeX documentation for further details. Transparent colour This should be set to your normal text background colour. The default setting is #FFFFFF (i.e., white). Density This setting effects the size of the resulting image. The default setting is 120 pixels, and it produces an image of reasonable quality, but for some complicated equations, this still may not be enough. It may be that anything less is not going to produce an image of sufficient quality but the image size can be controlled by the TeX encoding when the page is rendered. Path of latex binary Path to standard latex binary. On Unix based systems it is normally "/usr/bin/latex". On a MacOS X, the path is "/usr/texbin/". In Windows, using MiKTeX, it is usually something like C:\texmf\miktex\bin\latex.exe Path of dvips binary Path to standard dvips binary - generally distributed as part of a LaTeX system. On Unix based systems it is normally "/usr/bin/dvips". On a MacOS X, the path is "/usr/texbin/". On Windows using MikTeX is usually something like C:\texmf\miktex\bin\dvips.exe Path of convert binary Path to standard convert binary. It is necessary to produce GIF or PNG images from using the latex and dvips binaries. This is distributed as part of the Ghostscript system, or ImageMagick in Linux. On Unix based systems it is normally "/usr/bin/convert". On a MacOS X, the path is "/usr/local/bin/". On a Windows-based PC the path is something like C:\Program Files\ImageMagick\convert.exe (for ImageMagick, but something else for GhostScript.) Path of dvisvgm binary This binary is used instead of convert to produce SVG images. This is distributed as part of TeXlive on Linux although it may be require the full or extra packages to be installed. On Unix based systems it is normally "/usr/bin/dvisvgm". On a Windows-based PC a compiled binary is available from sourceforge and can placed in the same directory with the latex binary. Path of mimetex binary If this is blank and the binaries above are missing or fail, the TeX filter will attempt to use a mimetex binary distributed with Moodle. If you have installed mimetex on the server and would rather use it include the path here. Debugging TeX filter The TeX filter has a debugging script (which will be much more helpful if you turn on Debugging) included that should help if you are having problems. The URL will be as follows... http://your.moodle.path/filter/tex/texdebug.php You can either enter this path explicitly or with appropriate role permissions the TeX images (or more likely incorrectly rendered text, if you need debugging) will link to this. On more recent versions of Moodle you are required to be logged in as an Administrator to access this facility. See also TeX Filter Glossary - a glossary you can add to your course which details usage of the supported TeX notation. LaTeX - the LaTeX document preparation system. ghostscript - required to render the image MimeTeX Manual - Default TeX notation manual MikTeX - LaTeX for Windows systems ImageMagick - required to render images for Windows Using TeX Notation Advanced Maths Tools for Moodle 2.x - SEE - The Next Generation of TeX Tools Mathematics tools forum on moodle.org Source: docs.moodle.org/503/en/filter/tex/config — MoodleDocs (GPL) · Imported 2026-11-10. h5p 1 About H5P 2 Creating and editing H5P content in the Content bank 3 Creating and editing H5P content elsewhere 4 Creating H5P resources from Moodle standard questions 4.1 Add an activity or create a resource? 5 Adding an H5P activity to a course 6 Embedding H5P into other activities 7 Using H5P content in languages other than English 8 Admin settings 8.1 Manage H5P content types 8.2 H5P settings 8.2.1 H5P framework handler 8.2.2 Custom CSS 9 Capabilities 10 See also About H5P H5P is an abbreviation for HTML5 Package. It enables educators to create content such as interactive videos, quizzes and presentations. H5P content can be created in the Content bank or on the h5p.com site, or with the LUMI app for desktop, and added to your course as an H5P activity or embedded into any other activity or resource. For summative assessment, such as exams, it is recommended for security reasons to use the Quiz activity rather than H5P. Creating and editing H5P content in the Content bank To create and edit H5P content, Go to the Content bank, accessible when in a course from the Navigation drawer (Boost theme) or from Site pages in the Navigation block (Classic theme). Click the Add button and select a content type. For more information, see Content bank. Creating and editing H5P content elsewhere You can go to the h5p.com site, or you can install the LUMI app for desktop (Windows, Mac and Linux versions available). The CurrikiStudio server is an open source project to build a server where the teachers can create their H5P content. Make sure you download the newly created H5P file that you will later upload to your Moodle course. You must be aware that some parameters limit the file upload size for H5P objects in your server. Course file size limit is one of them. Remember that if you upload some *.h5p files to your Moodle server, the server MUST have the H5P libraries installed in order for those H5P activities to work. See Manage content types (below). If you use the LUMI desktop tool to create a H5P content from a file on the desktop, and then upload the H5P files via ftp to server file system, you would then be able to use the File system repository to add them to the Content bank. From the Content bank select 'Upload content' and the File system repository will appear as an option in the file manager. Creating H5P resources from Moodle standard questions See Repurpose resources content type plugin and this post about a new plugin for making H5P resources from some Moodle standard questions. Currently supported resources are: Moodle's Essay question type -> H5P Essay resource Moodle's Multiple Choice question type -> H5P Multiple Choice resource Moodle's Short answer question type -> H5P Guess the Answer resource Moodle's True/False question type -> H5P True False question resource Questions in a directory can be imported collectively to create a Column, Single Choice Set, Dialog Cards or Flash Cards content types. After creation, the content types can be edited in the Content bank as normal H5P content and combined with other content through copy and paste. After installation, teachers may create interactive content in the Content bank by clicking the Add button, and then choosing one of the Repurpose resources content types from the drop down menu to open the editor, and selecting questions and other options in the editor and saving. The new content created from the question will now appear in the Content bank. Add an activity or create a resource? If you upload an .H5P by drag and drop, the server will ask you whether you want to 'Add an H5P activity', or to 'Create a file resource' .h5p... You must choose wisely... An H5P resource is a file , that students can download. An H5P activity is one activity, for the students can interact with it. Adding an H5P activity to a course See H5P activity for how to create an H5P activity in a course. Embedding H5P into other activities You can embed H5P content into other activities and resources such as a Lesson or a Book, by clicking the H5P button in the text editor. H5P button in the text editor To embed H5P from the Content bank: Click the H5P button in the text editor then click 'Browse repositories'. Browse the Content bank repository and select an H5P file. Choose to either make a copy of the file or create a shortcut. Click the button 'Select this file'. Select H5P options as required and the display option 'Auto-play in mobile app'. Click 'Insert H5P content'. Note: If you create a shortcut to the file, you can edit it in the Content bank and any activities with a link to the file will be updated. Using H5P content in languages other than English Currently (April 2021) the names and descriptions of the H5P modules when using the Content bank are in English language only, but when using LUMI, these names and descriptions may be translated to other languages. See Translating plugins and the Spanish example below: Admin settings For H5P content to display in other activities, the Display H5P filter must be enabled and the URL e.g. h5p.com should be listed as an allowed source in Site admin / Plugins / Filters / Display H5P. Manage H5P content types Site administration > H5P > Manage H5P content types For teachers to upload and display H5P files in their courses, H5P content types and libraries must be available on the site. A scheduled task Download available H5P content types from h5p.org does this automatically (but check if it is enabled and has already run after first upgrading your site). If it is not possible to use this scheduled task, then the Site administration page 'Manage H5P content types' allows you to upload necessary files. H5P libraries needed error message If the scheduled task is not run and files are not uploaded, teachers will receive an error message when attempting to upload H5P content. An admin can choose to disable selected H5P content types, for example ones duplicating quiz functionality. H5P settings Site administration > H5P > H5P settings H5P framework handler Select the version of the H5P framework to use. Custom CSS Enter the CSS that you wish to apply to your H5P content. For example, entering: .h5p-course-presentation h2, .h5p-course-presentation .h5p-footer .h5p-footer-toggle-keywords .current-slide-title {     color: #fab; } Which will then apply to the H5P content, here being the example presentation (h5p.org/presentation - CC BY-SA 4.0 Deed Attribution-ShareAlike 4.0 International license creativecommons.org/licenses/by-sa/4.0/) where both instances of the slide title text have been changed to pink. Note: This setting is available in Moodle 4.3.3+ (Build: 20240223), version 2023100903.02 and above. Capabilities In addition to capabilities relating to the H5P activity and the Content bank there are further H5P capabilities as follows: - allowed for the default role of teacher Set H5P display options - allowed for the default role of teacher Manage H5P content types - allowed for the default role of manager only Deploy H5P content - allowed for the default roles of manager and teacher See also H5P activity H5P FAQ LUMI is a free (Open Source) desktop app that allows you to create, edit and share H5P interactive content with dozens of different content types. It is in English natively, but it has great support for languages other than English. Comparison chart of H5P questions and standard quiz questions Moodle & H5P, Magic Together | Michelle Lomman | MoodleMoot Global 2020 H5P in Moodle documentation with many useful tips and warnings Why you should NOT use H5P for high-risk assessment to know the reason of this rule. Source: docs.moodle.org/503/en/h5p — MoodleDocs (GPL) · Imported 2026-11-10. h5p/libraries 1 About H5P 2 Creating and editing H5P content in the Content bank 3 Creating and editing H5P content elsewhere 4 Creating H5P resources from Moodle standard questions 4.1 Add an activity or create a resource? 5 Adding an H5P activity to a course 6 Embedding H5P into other activities 7 Using H5P content in languages other than English 8 Admin settings 8.1 Manage H5P content types 8.2 H5P settings 8.2.1 H5P framework handler 8.2.2 Custom CSS 9 Capabilities 10 See also About H5P H5P is an abbreviation for HTML5 Package. It enables educators to create content such as interactive videos, quizzes and presentations. H5P content can be created in the Content bank or on the h5p.com site, or with the LUMI app for desktop, and added to your course as an H5P activity or embedded into any other activity or resource. For summative assessment, such as exams, it is recommended for security reasons to use the Quiz activity rather than H5P. Creating and editing H5P content in the Content bank To create and edit H5P content, Go to the Content bank, accessible when in a course from the Navigation drawer (Boost theme) or from Site pages in the Navigation block (Classic theme). Click the Add button and select a content type. For more information, see Content bank. Creating and editing H5P content elsewhere You can go to the h5p.com site, or you can install the LUMI app for desktop (Windows, Mac and Linux versions available). The CurrikiStudio server is an open source project to build a server where the teachers can create their H5P content. Make sure you download the newly created H5P file that you will later upload to your Moodle course. You must be aware that some parameters limit the file upload size for H5P objects in your server. Course file size limit is one of them. Remember that if you upload some *.h5p files to your Moodle server, the server MUST have the H5P libraries installed in order for those H5P activities to work. See Manage content types (below). If you use the LUMI desktop tool to create a H5P content from a file on the desktop, and then upload the H5P files via ftp to server file system, you would then be able to use the File system repository to add them to the Content bank. From the Content bank select 'Upload content' and the File system repository will appear as an option in the file manager. Creating H5P resources from Moodle standard questions See Repurpose resources content type plugin and this post about a new plugin for making H5P resources from some Moodle standard questions. Currently supported resources are: Moodle's Essay question type -> H5P Essay resource Moodle's Multiple Choice question type -> H5P Multiple Choice resource Moodle's Short answer question type -> H5P Guess the Answer resource Moodle's True/False question type -> H5P True False question resource Questions in a directory can be imported collectively to create a Column, Single Choice Set, Dialog Cards or Flash Cards content types. After creation, the content types can be edited in the Content bank as normal H5P content and combined with other content through copy and paste. After installation, teachers may create interactive content in the Content bank by clicking the Add button, and then choosing one of the Repurpose resources content types from the drop down menu to open the editor, and selecting questions and other options in the editor and saving. The new content created from the question will now appear in the Content bank. Add an activity or create a resource? If you upload an .H5P by drag and drop, the server will ask you whether you want to 'Add an H5P activity', or to 'Create a file resource' .h5p... You must choose wisely... An H5P resource is a file , that students can download. An H5P activity is one activity, for the students can interact with it. Adding an H5P activity to a course See H5P activity for how to create an H5P activity in a course. Embedding H5P into other activities You can embed H5P content into other activities and resources such as a Lesson or a Book, by clicking the H5P button in the text editor. H5P button in the text editor To embed H5P from the Content bank: Click the H5P button in the text editor then click 'Browse repositories'. Browse the Content bank repository and select an H5P file. Choose to either make a copy of the file or create a shortcut. Click the button 'Select this file'. Select H5P options as required and the display option 'Auto-play in mobile app'. Click 'Insert H5P content'. Note: If you create a shortcut to the file, you can edit it in the Content bank and any activities with a link to the file will be updated. Using H5P content in languages other than English Currently (April 2021) the names and descriptions of the H5P modules when using the Content bank are in English language only, but when using LUMI, these names and descriptions may be translated to other languages. See Translating plugins and the Spanish example below: Admin settings For H5P content to display in other activities, the Display H5P filter must be enabled and the URL e.g. h5p.com should be listed as an allowed source in Site admin / Plugins / Filters / Display H5P. Manage H5P content types Site administration > H5P > Manage H5P content types For teachers to upload and display H5P files in their courses, H5P content types and libraries must be available on the site. A scheduled task Download available H5P content types from h5p.org does this automatically (but check if it is enabled and has already run after first upgrading your site). If it is not possible to use this scheduled task, then the Site administration page 'Manage H5P content types' allows you to upload necessary files. H5P libraries needed error message If the scheduled task is not run and files are not uploaded, teachers will receive an error message when attempting to upload H5P content. An admin can choose to disable selected H5P content types, for example ones duplicating quiz functionality. H5P settings Site administration > H5P > H5P settings H5P framework handler Select the version of the H5P framework to use. Custom CSS Enter the CSS that you wish to apply to your H5P content. For example, entering: .h5p-course-presentation h2, .h5p-course-presentation .h5p-footer .h5p-footer-toggle-keywords .current-slide-title {     color: #fab; } Which will then apply to the H5P content, here being the example presentation (h5p.org/presentation - CC BY-SA 4.0 Deed Attribution-ShareAlike 4.0 International license creativecommons.org/licenses/by-sa/4.0/) where both instances of the slide title text have been changed to pink. Note: This setting is available in Moodle 4.3.3+ (Build: 20240223), version 2023100903.02 and above. Capabilities In addition to capabilities relating to the H5P activity and the Content bank there are further H5P capabilities as follows: - allowed for the default role of teacher Set H5P display options - allowed for the default role of teacher Manage H5P content types - allowed for the default role of manager only Deploy H5P content - allowed for the default roles of manager and teacher See also H5P activity H5P FAQ LUMI is a free (Open Source) desktop app that allows you to create, edit and share H5P interactive content with dozens of different content types. It is in English natively, but it has great support for languages other than English. Comparison chart of H5P questions and standard quiz questions Moodle & H5P, Magic Together | Michelle Lomman | MoodleMoot Global 2020 H5P in Moodle documentation with many useful tips and warnings Why you should NOT use H5P for high-risk assessment to know the reason of this rule. Source: docs.moodle.org/503/en/h5p/libraries — MoodleDocs (GPL) · Imported 2026-11-10. h5p/overview 1 About H5P 2 Creating and editing H5P content in the Content bank 3 Creating and editing H5P content elsewhere 4 Creating H5P resources from Moodle standard questions 4.1 Add an activity or create a resource? 5 Adding an H5P activity to a course 6 Embedding H5P into other activities 7 Using H5P content in languages other than English 8 Admin settings 8.1 Manage H5P content types 8.2 H5P settings 8.2.1 H5P framework handler 8.2.2 Custom CSS 9 Capabilities 10 See also About H5P H5P is an abbreviation for HTML5 Package. It enables educators to create content such as interactive videos, quizzes and presentations. H5P content can be created in the Content bank or on the h5p.com site, or with the LUMI app for desktop, and added to your course as an H5P activity or embedded into any other activity or resource. For summative assessment, such as exams, it is recommended for security reasons to use the Quiz activity rather than H5P. Creating and editing H5P content in the Content bank To create and edit H5P content, Go to the Content bank, accessible when in a course from the Navigation drawer (Boost theme) or from Site pages in the Navigation block (Classic theme). Click the Add button and select a content type. For more information, see Content bank. Creating and editing H5P content elsewhere You can go to the h5p.com site, or you can install the LUMI app for desktop (Windows, Mac and Linux versions available). The CurrikiStudio server is an open source project to build a server where the teachers can create their H5P content. Make sure you download the newly created H5P file that you will later upload to your Moodle course. You must be aware that some parameters limit the file upload size for H5P objects in your server. Course file size limit is one of them. Remember that if you upload some *.h5p files to your Moodle server, the server MUST have the H5P libraries installed in order for those H5P activities to work. See Manage content types (below). If you use the LUMI desktop tool to create a H5P content from a file on the desktop, and then upload the H5P files via ftp to server file system, you would then be able to use the File system repository to add them to the Content bank. From the Content bank select 'Upload content' and the File system repository will appear as an option in the file manager. Creating H5P resources from Moodle standard questions See Repurpose resources content type plugin and this post about a new plugin for making H5P resources from some Moodle standard questions. Currently supported resources are: Moodle's Essay question type -> H5P Essay resource Moodle's Multiple Choice question type -> H5P Multiple Choice resource Moodle's Short answer question type -> H5P Guess the Answer resource Moodle's True/False question type -> H5P True False question resource Questions in a directory can be imported collectively to create a Column, Single Choice Set, Dialog Cards or Flash Cards content types. After creation, the content types can be edited in the Content bank as normal H5P content and combined with other content through copy and paste. After installation, teachers may create interactive content in the Content bank by clicking the Add button, and then choosing one of the Repurpose resources content types from the drop down menu to open the editor, and selecting questions and other options in the editor and saving. The new content created from the question will now appear in the Content bank. Add an activity or create a resource? If you upload an .H5P by drag and drop, the server will ask you whether you want to 'Add an H5P activity', or to 'Create a file resource' .h5p... You must choose wisely... An H5P resource is a file , that students can download. An H5P activity is one activity, for the students can interact with it. Adding an H5P activity to a course See H5P activity for how to create an H5P activity in a course. Embedding H5P into other activities You can embed H5P content into other activities and resources such as a Lesson or a Book, by clicking the H5P button in the text editor. H5P button in the text editor To embed H5P from the Content bank: Click the H5P button in the text editor then click 'Browse repositories'. Browse the Content bank repository and select an H5P file. Choose to either make a copy of the file or create a shortcut. Click the button 'Select this file'. Select H5P options as required and the display option 'Auto-play in mobile app'. Click 'Insert H5P content'. Note: If you create a shortcut to the file, you can edit it in the Content bank and any activities with a link to the file will be updated. Using H5P content in languages other than English Currently (April 2021) the names and descriptions of the H5P modules when using the Content bank are in English language only, but when using LUMI, these names and descriptions may be translated to other languages. See Translating plugins and the Spanish example below: Admin settings For H5P content to display in other activities, the Display H5P filter must be enabled and the URL e.g. h5p.com should be listed as an allowed source in Site admin / Plugins / Filters / Display H5P. Manage H5P content types Site administration > H5P > Manage H5P content types For teachers to upload and display H5P files in their courses, H5P content types and libraries must be available on the site. A scheduled task Download available H5P content types from h5p.org does this automatically (but check if it is enabled and has already run after first upgrading your site). If it is not possible to use this scheduled task, then the Site administration page 'Manage H5P content types' allows you to upload necessary files. H5P libraries needed error message If the scheduled task is not run and files are not uploaded, teachers will receive an error message when attempting to upload H5P content. An admin can choose to disable selected H5P content types, for example ones duplicating quiz functionality. H5P settings Site administration > H5P > H5P settings H5P framework handler Select the version of the H5P framework to use. Custom CSS Enter the CSS that you wish to apply to your H5P content. For example, entering: .h5p-course-presentation h2, .h5p-course-presentation .h5p-footer .h5p-footer-toggle-keywords .current-slide-title {     color: #fab; } Which will then apply to the H5P content, here being the example presentation (h5p.org/presentation - CC BY-SA 4.0 Deed Attribution-ShareAlike 4.0 International license creativecommons.org/licenses/by-sa/4.0/) where both instances of the slide title text have been changed to pink. Note: This setting is available in Moodle 4.3.3+ (Build: 20240223), version 2023100903.02 and above. Capabilities In addition to capabilities relating to the H5P activity and the Content bank there are further H5P capabilities as follows: - allowed for the default role of teacher Set H5P display options - allowed for the default role of teacher Manage H5P content types - allowed for the default role of manager only Deploy H5P content - allowed for the default roles of manager and teacher See also H5P activity H5P FAQ LUMI is a free (Open Source) desktop app that allows you to create, edit and share H5P interactive content with dozens of different content types. It is in English natively, but it has great support for languages other than English. Comparison chart of H5P questions and standard quiz questions Moodle & H5P, Magic Together | Michelle Lomman | MoodleMoot Global 2020 H5P in Moodle documentation with many useful tips and warnings Why you should NOT use H5P for high-risk assessment to know the reason of this rule. Source: docs.moodle.org/503/en/h5p/overview — MoodleDocs (GPL) · Imported 2026-11-10. licenses Licence settings An administrator can specify the default site licence from Site administration > Licence > Licence settings. The setting 'Remember user licence preference' (enable by default) will remember the last licence selected by a user when uploading a file. If the setting is disabled, the default licence will be used. Licence manager From the licence manager, the administrator can disable certain licences (except the specified default). A button 'Create licence' allows the administrator to enter details of a custom licence, along with its URL: Creating a custom licence Users can now select Creative Commons licences version 4.0. (The 3.0 licences have not been altered). Licences affecting what users see Note: The licence given to a file when uploaded to Moodle does not in any way affect its visibility on a course. It simply creates the default when it is being re-used elsewhere. This default licence can be changed at the time of display. Source: docs.moodle.org/503/en/licenses — MoodleDocs (GPL) · Imported 2026-11-10. mod/assign/feedback/editpdf/testunoconv Note: Unoconv is deprecated. There is rewrite of Unoconv called "Unoserver" but Moodle does not currently support it. See MDL-75066 1 What is unoconv? 2 Installing unoconv on Linux 2.1 Ubuntu 18.04 LTS 2.2 Ubuntu 22.04 LTS 2.3 Ubuntu 16.04 LTS 2.4 Ubuntu 14.04 LTS 2.5 CentOS / RedHat 3 Installing unoconv on OS X 4 Installing unoconv on Windows 5 Run a unoconv listener 6 Offload processing to a different server 7 Additional resources 8 See also What is unoconv? "unoconv" is a command line program that is used to convert between different office document file formats. It uses an instance of LibreOffice to do the conversion and is used by the Assignment activity to convert documents to pdf so that they can be annotated. If unoconv is not installed - the only impact is that the assignment activities will only allow annotations when students upload a pdf document. The steps required to install unoconv are different depending on the operating system that you have installed Moodle on. Installing unoconv on Linux The required version of unoconv is at least 0.7. Depending on your flavour of linux, this may be available in your package manager and you can install it directly with: Ubuntu 18.04 LTS apt-get install unoconv mkdir /var/www/.config chown www-data:www-data /var/www/.config Ubuntu 22.04 LTS You will need to install Python 3, and note that the unoconv will only support Python up to 3.11. sudo apt install python3 To download the latest version of unoconv (0.8.2): cd /opt sudo git clone https://github.com/unoconv/unoconv.git sudo nano /opt/unoconv/unoconv Change the first line of code by adding the number 3 to the Python version, as per the example below: #!/usr/bin/env python3 Permissions and run link: sudo chmod ugo+x /opt/unoconv/unoconv sudo ln -s /opt/unoconv/unoconv /usr/bin/ Now we need LibreOffice installed: sudo add-apt-repository ppa:libreoffice/ppa sudo apt install libreoffice -y Production servers should consider running unoconv in listener mode, see Installing unoconv#Run a unoconv listener or follow directions below: sudo nano /etc/systemd/system/unoconv.service And then copy and paste the following configuration into it: [Unit] Description=Unoconv listener for document conversions Documentation=https://github.com/dagwieers/unoconv After=network.target remote-fs.target nss-lookup.target [Service] Type=simple ExecStart=/usr/bin/unoconv --listener [Install] WantedBy=multi-user.target And then enable and start the above service: sudo systemctl enable unoconv.service sudo systemctl start unoconv.service Ubuntu 16.04 LTS apt-get install unoconv If your package manager contains an older version of the package, you will have to find a newer version and install it manually (Debian Testing). Unoconv itself is just a python script, so it has few dependencies. Potential problems: On some systems the apache user home directory is set to a non existent folder. This can cause unoconv to fail. There are 2 solutions to this - one is to make a (writable) home directory for the apache user (like /home/www-data). The other is to run a unoconv listener (described below) as another user other than the apache user (someone with a valid, writable home directory). If you are still running 14.04LTS then unoconv won't work as shipped. This might not be the most efficient route but it worked by first installing unoconv (version 0.6) from the package manager as above. You will then need to grab unoconv 0.7 from Github (https://github.com/dagwieers/unoconv), then upgrade to the latest libreoffice using the PPA (https://launchpad.net/~libreoffice/+archive/ubuntu/ppa). Point moodle at the Github version of unoconv. You need to modify the Python unoconv file by changing 'python' in the first line to 'python3'. You also need to change the permissions on the directory /var/www so that the user www-data can write to it (www-data needs to write to its home directory which it cannot do by default). On Debian Stable, the cleanest method to install unoconv is using Jessie-backports. First, enable backports repo line in /etc/apt/sources.list: #### Jessie-backports #### deb http://ftp.debian.org/debian jessie-backports main Then, update and install unoconv from jessie-backports: apt-get update apt-get install -t jessie-backports unoconv The package will bring all necessary dependencies for you. Ubuntu 14.04 LTS 1) Navigate to opt directory cd /opt 2) Download unoconv sudo wget https://raw.githubusercontent.com/dagwieers/unoconv/master/unoconv 3) Modify the Python unoconv file by changing 'python' in the first line to 'python3' sudo nano /opt/unoconv e.g. #!/usr/bin/env python3 4) Make unoconv executable sudo chmod ugo+x /opt/unoconv 5) Add LibreOffice PPA to your system and install the latest version sudo add-apt-repository ppa:libreoffice/ppa sudo apt-get update sudo apt-get install libreoffice 6) Change permissions so apache can write to its home directory sudo chown www-data /var/www 7) From your browser navigate to Site administration > Server > System paths and add the path to unoconv /opt/unoconv Note: if you would like to preserve the default path add a symbolic link to /usr/bin: sudo ln -s /opt/unoconv /usr/bin/ 8) Navigate to Site administration > Plugins > Activity modules > Assignment > Feedback plugins > Annotate PDF > Test unoconv path You should see: "The unoconv path appears to be properly configured." Download the converted pdf test file. (if the PDF fails to load ensure that www-data can write to its home directory: /var/www) CentOS / RedHat Just before you start, you might like to consider installing the latest LibreOffice 6.3.2 directly from RPM packages, that are not part of the distribution you are using. As of nov-2016, CentOS and RedHat 7.2 comes with OpenOffice 4.3 . so if you are not interested in using this version and would like to install latest 6.3 independent LibreOffice 6.3, please remove any openoffice packages you might have on your OS by issuing: yum remove openoffice* libreoffice* It is recommended to chose your localized libreoffice version for better document conversions. yum install libreoffice libreoffice-pyuno git clone https://github.com/dagwieers/unoconv.git # copy cp unoconv/unoconv /usr/bin # or link unoconv to /usr/bin ln -s unoconv/unoconv /usr/bin/unoconv Note: depends on what version you are installing, openoffice or libreoffice, make sure you installed the *-pyuno package. (the headless package is already compiled into the core) Make sure it is properly configured: http://your-moodle/admin/search.php?query=unoconv Production servers should consider running unoconv in listener mode, see Installing unoconv#Run a unoconv listener or follow directions bellow vi /etc/systemd/system/unoconv.service And then copy and paste the following configuration into it: [Unit] Description=Unoconv listener for document conversions Documentation=https://github.com/dagwieers/unoconv After=network.target remote-fs.target nss-lookup.target [Service] Type=simple Environment="UNO_PATH=/usr/lib64/libreoffice/program" ExecStart=/usr/bin/unoconv --listener [Install] WantedBy=multi-user.target And then enable and start the above service systemctl enable unoconv.service systemctl start unoconv.service If your selinux is enable yous should set #setsebool -P httpd_execmem on Installing unoconv on OS X Download and install LibreOffice for Mac. Unfortunately - newer versions of LibreOffice are not currently compatible with unoconv for mac and you will have to install LibreOffice 4.2 (Direct download link - https://downloadarchive.documentfoundation.org/libreoffice/old/4.2.5.2/mac/x86_64/LibreOffice_4.2.5.2_MacOS_x86-64.dmg). Get the latest version of the unoconv python script. One way to do this is with http://brew.sh/ brew. brew install unoconv If you haven't done it already - install ghostscript. One way to install ghostscript is also with http://brew.sh/ brew brew install ghostscript Set the paths to unoconv and ghostscript in Moodle (Site administration > Server > System paths). If you used brew, they will both be installed to /usr/local/bin. LibreOffice needs write access to the current users home directory to create some temporary files. When unoconv is run as the webserver user (_www) it does not normally have this permission. There are some ways to get around this - one way is just to give the "_www" user write access to /Library/WebServer. Another solution is to convince LibreOffice that this users home directory is somewhere else. This can be done by inserting this code into the top of the unoconv python script. Code to insert: # Set home to a writable folder. os.environ['HOME'] = '/tmp/' This needs to be inserted at line 36 immediately after the line "exitcode = 0" Installing unoconv on Windows Download and install LibreOffice for Windows. Open Office will work just as well, but the documentation for unonconv is set to Libre Office. Download the latest version of the unoconv script from https://github.com/dagwieers/unoconv/releases (download the zip version). From the downloaded zip file - extract the one file unoconv-0.7\unoconv (no file extension). This is the unoconv script - none of the other files in the package are required. Rename the downloaded script to unoconv.py and copy it to a folder in either C:\Program Files or C:\Program Files (x86). Create a batch file in the same folder as unoconv.py name it something like unoconv.bat, it must be a batch file, with these contents: @"C:\Program Files\LibreOffice\program\python.exe" c:\unoconv\unoconv.py %* or: @"C:\Program Files\OpenOffice\program\python.exe" c:\unoconv\unoconv.py %* Next, you have to Set paths in Moodle. Login as admin and go to Site administration > Server > System paths Set: Path to Ghostscript (pathtogs) to C:\Program Files\gs\gsversion\bin\gswin64c.exe. Do not use gswin32.exe or gswin64.exe, these are not command line programs - use gswin32c.exe or gswin64c.exe. Set: Path to Python (pathtopython) to C:\Program Files (x86)\OpenOffice\program\python.exe or C:\Program Files (x86)\LibreOffice\program\python.exe. Identify in the path whichever program you use and include the full exe name for both Ghostscript and Python. Save the pathto statements and a green tick should appear if Moodle is communicating with the required files. Go to Site administration > Plugins > Document converters and enable Unoconv then select Settings Enter the path statement to Path to unoconv document converter: C:\Program Files (x86)\unoconv\unoconv.bat. Include the full name of the .bat file. Test ghostscript and unoconv are working correctly in the admin test pages Site administration > Plugins > Activity modules > Assignment > Feedback plugins > Annotate PDF. Run a unoconv listener Unoconv utilises a client/server process when converting documents. By default, when there is no running server process - each time unoconv runs it will start a server process, send its request and shut down the server process when the request is complete. The drawback of this mode is that if 2 requests are submitted simultaneously - this can cause the first request to shutdown the server process when the second request is still in progress - and the second conversion request fails. A more robust way to configure unoconv is to start a server process at boot time, and/or run a script to monitor it and restart it if it crashes. To start a unoconv listener at boot time - you need a start up script. Different operating systems and Linux distributions use different startup scripts - but here are some examples of startup scripts for different systems. Upstart script for Ubuntu based systems Launchd script for OS X Init script for Debian Init script for CentOS/RedHat 6.x SystemD service script for CentOS/RedHat 7.x Offload processing to a different server Processing office documents can put increased load on your webserver, which may impact on the responsiveness of your site. If you are installing unoconv on a large site you may want to consider running unoconv on a server that is not also serving web requests. How to do this: Install unoconv on each webservers and the remote server following the installation instructions above. Make sure unoconv is started at boot time on the remote server with the "--listener" argument and is monitored and restarted if it exits (see Debian init script for an example of how to do this). By default, unoconv will only listen on localhost (127.0.0.1): if you want to connect to the listener process from another server, you need to start the unoconv listener process with the "--server" argument too! An example command for starting a listener on a remote server (0.0.0.0 listens on all interfaces): unoconv --listener --server 0.0.0.0 --port 2002 Open the firewall port 2002 between the moodle webservers and the machine running unoconv. Share the moodle data root between the webservers and the machine running unoconv. This folder must be mounted at the same path on all servers. Install a wrapper for unoconv on the webservers that forwards the requests to the remote server. Example: #!/bin/bash # Wrapper script for unoconv to forward processing. # Install to /usr/bin/unoconv-remote with 755 permissions /usr/bin/unoconv --server= "$@" Configure the path to unoconv in the Moodle admin settings to point to this wrapper script. Additional resources GitHub dagwieers/unoconv has additional information on installation of unoconv and troubleshooting tips. See also Is the unoconv installation a security risk? forum discussion Source: docs.moodle.org/503/en/mod/assign/feedback/editpdf/testunoconv — MoodleDocs (GPL) · Imported 2026-11-10. mod/lti 1 What are LTI External tools? 2 Viewing and managing LTI External tools 3 Adding LTI External tools at course level 3.1 Tool settings 3.2 Services 3.3 Privacy 4 Site administration settings 4.1 Adding a tool site-wide 4.1.1 Making a tool available to specific course categories 4.2 Registering an LTI Advantage tool 4.3 Registering an LTI 1.1 tool using a cartridge 4.4 Registering an external LTI 2.0 external tool 4.5 Viewing more details 5 External tool capabilities 6 See also What are LTI External tools? Load video YouTube YouTube might collect personal data. Privacy Policy LTI External tool LTI External tools are add-on apps you can integrate into your course, such as interactive content, activities, or assessments. Teachers can link to these activities from within their Moodle course page, and students can access them without leaving their Moodle course or having to log in to a different system. Where available, and depending on each tool, teachers can also have grades sent back into Moodle. The link between Moodle and these tools is made through the Learning Tools Interoperability (LTI) standard, which integrates learning platforms with learning tools to create a richer, seamless learning experience. Essentially, the LTI standard enables a secure, bi-directional exchange of information between Moodle and external learning tools. LTI External tools can be used in Moodle as activities. This page explores the LTI External Tools page, which allows you to see which LTI External tools are available in your course. It also covers how to add new LTI tools to your course, and how administrators can add LTI tools to their site. Viewing and managing LTI External tools To view the LTI External tools that are available in your course, go to Course navigation > More > LTI External tools. If your administrator or another teacher have already configured tools for your course, they will be shown on this page. The table on the page contains information about the available LTI tools in the course: Name Description Usage count: How many times the tool is being used in the course Show in Activity chooser: Whether the tool is displayed in the activity chooser so it can be used as an activity in the course. The context menu (···) contains actions you can perform on the tool, such as Edit its settings, Delete it, or see its registration details (for LTI 1.3 tools only). The actions you can perform depend on the permissions your administrator has given you. If instead of the three dots menu there is a lock icon, it means that the tool has been configured by your administrator for the whole site, and you can’t edit it. Adding LTI External tools at course level If your administrator has given you permission to manage LTI External tools, you can add new tools to your courses using the ‘Add tool’ button on the LTI External tools page. Tools that you add at course level will appear in your activity chooser by default. You can remove them from the activity chooser by going to Course page > More > LTI External Tools and toggling them off in the column ‘Show in activity chooser’. Tool settings In Tool settings, give your tool a name (and, optionally, a description). To fill in the rest of the fields in this section, including the LTI version, follow the instructions from your tool provider. If the tool doesn’t provide information about some of these settings, it’s ok to leave them blank. Tool URL - This is the URL for connecting to site. If your moodle site uses SSL (is on HTTPS) you will only be able to use a tool that also uses SSL. Make sure the tool URL has HTTPS before attempting to use it or you may get a blank page. LTI version - The LTI version of the tool you're adding. Consumer key -this tells the connecting LTI compliant site that your Moodle is allowed to connect. The "tool provider", i.e. the manger of the connecting LTI compliant site will issue you with this key. If you are merely linking to a tool with no secure access or gradebook sharing then you won't need a consumer key. If you are linking to a course or activity from another Moodle site, then you can add any consumer key. Shared secret - this is the "password" to connect to the tool - the LTI compliant site. Custom parameters - most times, you can leave this blank. The tool provider might use this to allow you to display a specific resource. Default launch container - this is how the external tool will be displayed. Embed - The content will appear within the activity page where the tool is used, not moving users away from the page, but hiding any blocks your course may have. Embed without blocks - The content will be displayed in the existing tab or window. Users will have to navigate back to the course using the ‘Back’ button once they’re done. Existing window - The content will be displayed in the existing tab or window. Users will have to navigate back to the course using the ‘Back’ button once they’re done. New Window - the external tool will open in a new window. (A new window or tab will open with the External tool and the old browser window containing the course page will not change.) Content selection URL - The Content Selection URL will be used to launch the content selection page from the tool provider. If it is empty, the Tool URL will be used. The following settings are available by clicking ""Show more": Icon URL - you can display a different icon from the default External Tool icon by entering its URL here Secure Icon URL - enter the URL of a different icon here if your students are accessing Moodle securely via SSL. Services Choose which of the services you want to use with the tool. Privacy Share launcher's name with the tool - this means that the student's name will be displayed on the connected site as in this example Share launcher's email with the tool - this means that the student's email will be displayed on the connected site as in this example Accept grades from the tool - if this is checked, the connecting site will send back grades to Moodle's gradebook. See Using External tool for more information on this. Once you Save changes, the tool will be added to the list of tools in Course page > More > LTI External tools. Site administration settings Adding a tool site-wide An administrator can manually configure external tools in Site administration > Plugins > Activity modules > External tool> Manage tools so that they are available across the site. Adding an external tool A tool may be configured by an administrator so that it is shown in the activity chooser (in addition to the external tool activity) for a teacher to select to add to a course. Its description, if one is present, will appear in the activity chooser. Making a tool available to specific course categories When configuring an LTI External tool, administrators have the option to limit its availability to specific course categories by selecting the desired categories in the 'Restrict to category' section during the tool configuration process. Registering an LTI Advantage tool Moodle allows a simple way to deploy an LTI Advantage tool. If the tool provider supports that flow, you should have received a registration URL. Simply enter that url to a tool in the 'Tool URL' and press 'Add LTI Advantage'. The tool registration UI will open and guide you to the steps for registration. Once completed, the registration panel will close and the list of tools will refresh. If the registration was successful, the newly added tool should be visible in a pending state. The pending state allows you to review the tool configuration, the privacy and services granted, apply possible modifications (for example how the tool appears in the activity chooser), then activate the tool to make it available. In case of errors when trying to start the registration, validate the registration URL with the tool's vendor the registration URL is for an LTI Advantage registration and not for the deprecated LTI 2 registration. For Tool Developers looking to support the automated registration of LTI Advantage tool, there is an implementation guide available. The registration process is also being standardized by IMS Global LTI Working Group. There is also a Youtube video demo-ing and explaining the flow. Registering an LTI 1.1 tool using a cartridge You can register an LTI 1.1 tool type using a cartridge. A cartridge will configure all the information such as launch url, tool name & description and icons for you. To do this, simply enter the url to a tool's cartridge in the 'Tool URL' and press 'Add Legacy LTI'. You will be asked to enter a key and secret. If you don't have them, you can leave them blank and press save changes. Entering a consumer key and secret Registering an external LTI 2.0 external tool The LTI 2 specifications have been deprecated by IMS Global and are no more the preferred way to integrate an external tool in Moodle. Viewing more details On the 'Manage tools' page you can also visit 'Manage preconfigured tools' to view the preconfigured tools in a tabular format. There are tabs to add an external tool, to view those which are pending and to view those which have been rejected: Setting up a new external tool You can also visit 'Manage external tool registrations' to view the tool registrations in a tabular format, or to add an external registration with limited capabilities. To add a tool with limited capabilities. 1. Click 'Configure a new external tool registration' Registering an external tool 2. Configure the details on the settings page: Registration settings page 'Memberships', allow the external tool to request a list of users with a certain role in a specified context e.g. users enrolled in a course. 3. Click the tick/checkmark to register: Activating 4. After obtaining a success message, click to complete the process: Completing the registration 5. If all requirements are met then you will be able to register automatically. 6. Now go to Site administration > Plugins > Activity modules > External tool > Manage external tool types and click the 'Pending tab' 7. Click the tick/checkmark to activate it: Activating from the Pending tab External tool capabilities Add course-specific tool configurations Add a new external tool Add a preconfigured tool Submit a tool to admins for configuration Be an admin when the tool is launched Edit external tool activities i.e. be an Instructor when the tool is launched View external tool activities i.e. launch external tool activities See also LTI External tool FAQ Forum discussion LTI configs when add external tool is switched off Source: docs.moodle.org/503/en/mod/lti — MoodleDocs (GPL) · Imported 2026-11-10. mod/lti/index 1 What are LTI External tools? 2 Viewing and managing LTI External tools 3 Adding LTI External tools at course level 3.1 Tool settings 3.2 Services 3.3 Privacy 4 Site administration settings 4.1 Adding a tool site-wide 4.1.1 Making a tool available to specific course categories 4.2 Registering an LTI Advantage tool 4.3 Registering an LTI 1.1 tool using a cartridge 4.4 Registering an external LTI 2.0 external tool 4.5 Viewing more details 5 External tool capabilities 6 See also What are LTI External tools? Load video YouTube YouTube might collect personal data. Privacy Policy LTI External tool LTI External tools are add-on apps you can integrate into your course, such as interactive content, activities, or assessments. Teachers can link to these activities from within their Moodle course page, and students can access them without leaving their Moodle course or having to log in to a different system. Where available, and depending on each tool, teachers can also have grades sent back into Moodle. The link between Moodle and these tools is made through the Learning Tools Interoperability (LTI) standard, which integrates learning platforms with learning tools to create a richer, seamless learning experience. Essentially, the LTI standard enables a secure, bi-directional exchange of information between Moodle and external learning tools. LTI External tools can be used in Moodle as activities. This page explores the LTI External Tools page, which allows you to see which LTI External tools are available in your course. It also covers how to add new LTI tools to your course, and how administrators can add LTI tools to their site. Viewing and managing LTI External tools To view the LTI External tools that are available in your course, go to Course navigation > More > LTI External tools. If your administrator or another teacher have already configured tools for your course, they will be shown on this page. The table on the page contains information about the available LTI tools in the course: Name Description Usage count: How many times the tool is being used in the course Show in Activity chooser: Whether the tool is displayed in the activity chooser so it can be used as an activity in the course. The context menu (···) contains actions you can perform on the tool, such as Edit its settings, Delete it, or see its registration details (for LTI 1.3 tools only). The actions you can perform depend on the permissions your administrator has given you. If instead of the three dots menu there is a lock icon, it means that the tool has been configured by your administrator for the whole site, and you can’t edit it. Adding LTI External tools at course level If your administrator has given you permission to manage LTI External tools, you can add new tools to your courses using the ‘Add tool’ button on the LTI External tools page. Tools that you add at course level will appear in your activity chooser by default. You can remove them from the activity chooser by going to Course page > More > LTI External Tools and toggling them off in the column ‘Show in activity chooser’. Tool settings In Tool settings, give your tool a name (and, optionally, a description). To fill in the rest of the fields in this section, including the LTI version, follow the instructions from your tool provider. If the tool doesn’t provide information about some of these settings, it’s ok to leave them blank. Tool URL - This is the URL for connecting to site. If your moodle site uses SSL (is on HTTPS) you will only be able to use a tool that also uses SSL. Make sure the tool URL has HTTPS before attempting to use it or you may get a blank page. LTI version - The LTI version of the tool you're adding. Consumer key -this tells the connecting LTI compliant site that your Moodle is allowed to connect. The "tool provider", i.e. the manger of the connecting LTI compliant site will issue you with this key. If you are merely linking to a tool with no secure access or gradebook sharing then you won't need a consumer key. If you are linking to a course or activity from another Moodle site, then you can add any consumer key. Shared secret - this is the "password" to connect to the tool - the LTI compliant site. Custom parameters - most times, you can leave this blank. The tool provider might use this to allow you to display a specific resource. Default launch container - this is how the external tool will be displayed. Embed - The content will appear within the activity page where the tool is used, not moving users away from the page, but hiding any blocks your course may have. Embed without blocks - The content will be displayed in the existing tab or window. Users will have to navigate back to the course using the ‘Back’ button once they’re done. Existing window - The content will be displayed in the existing tab or window. Users will have to navigate back to the course using the ‘Back’ button once they’re done. New Window - the external tool will open in a new window. (A new window or tab will open with the External tool and the old browser window containing the course page will not change.) Content selection URL - The Content Selection URL will be used to launch the content selection page from the tool provider. If it is empty, the Tool URL will be used. The following settings are available by clicking ""Show more": Icon URL - you can display a different icon from the default External Tool icon by entering its URL here Secure Icon URL - enter the URL of a different icon here if your students are accessing Moodle securely via SSL. Services Choose which of the services you want to use with the tool. Privacy Share launcher's name with the tool - this means that the student's name will be displayed on the connected site as in this example Share launcher's email with the tool - this means that the student's email will be displayed on the connected site as in this example Accept grades from the tool - if this is checked, the connecting site will send back grades to Moodle's gradebook. See Using External tool for more information on this. Once you Save changes, the tool will be added to the list of tools in Course page > More > LTI External tools. Site administration settings Adding a tool site-wide An administrator can manually configure external tools in Site administration > Plugins > Activity modules > External tool> Manage tools so that they are available across the site. Adding an external tool A tool may be configured by an administrator so that it is shown in the activity chooser (in addition to the external tool activity) for a teacher to select to add to a course. Its description, if one is present, will appear in the activity chooser. Making a tool available to specific course categories When configuring an LTI External tool, administrators have the option to limit its availability to specific course categories by selecting the desired categories in the 'Restrict to category' section during the tool configuration process. Registering an LTI Advantage tool Moodle allows a simple way to deploy an LTI Advantage tool. If the tool provider supports that flow, you should have received a registration URL. Simply enter that url to a tool in the 'Tool URL' and press 'Add LTI Advantage'. The tool registration UI will open and guide you to the steps for registration. Once completed, the registration panel will close and the list of tools will refresh. If the registration was successful, the newly added tool should be visible in a pending state. The pending state allows you to review the tool configuration, the privacy and services granted, apply possible modifications (for example how the tool appears in the activity chooser), then activate the tool to make it available. In case of errors when trying to start the registration, validate the registration URL with the tool's vendor the registration URL is for an LTI Advantage registration and not for the deprecated LTI 2 registration. For Tool Developers looking to support the automated registration of LTI Advantage tool, there is an implementation guide available. The registration process is also being standardized by IMS Global LTI Working Group. There is also a Youtube video demo-ing and explaining the flow. Registering an LTI 1.1 tool using a cartridge You can register an LTI 1.1 tool type using a cartridge. A cartridge will configure all the information such as launch url, tool name & description and icons for you. To do this, simply enter the url to a tool's cartridge in the 'Tool URL' and press 'Add Legacy LTI'. You will be asked to enter a key and secret. If you don't have them, you can leave them blank and press save changes. Entering a consumer key and secret Registering an external LTI 2.0 external tool The LTI 2 specifications have been deprecated by IMS Global and are no more the preferred way to integrate an external tool in Moodle. Viewing more details On the 'Manage tools' page you can also visit 'Manage preconfigured tools' to view the preconfigured tools in a tabular format. There are tabs to add an external tool, to view those which are pending and to view those which have been rejected: Setting up a new external tool You can also visit 'Manage external tool registrations' to view the tool registrations in a tabular format, or to add an external registration with limited capabilities. To add a tool with limited capabilities. 1. Click 'Configure a new external tool registration' Registering an external tool 2. Configure the details on the settings page: Registration settings page 'Memberships', allow the external tool to request a list of users with a certain role in a specified context e.g. users enrolled in a course. 3. Click the tick/checkmark to register: Activating 4. After obtaining a success message, click to complete the process: Completing the registration 5. If all requirements are met then you will be able to register automatically. 6. Now go to Site administration > Plugins > Activity modules > External tool > Manage external tool types and click the 'Pending tab' 7. Click the tick/checkmark to activate it: Activating from the Pending tab External tool capabilities Add course-specific tool configurations Add a new external tool Add a preconfigured tool Submit a tool to admins for configuration Be an admin when the tool is launched Edit external tool activities i.e. be an Instructor when the tool is launched View external tool activities i.e. launch external tool activities See also LTI External tool FAQ Forum discussion LTI configs when add external tool is switched off Source: docs.moodle.org/503/en/mod/lti/index — MoodleDocs (GPL) · Imported 2026-11-10. mod/lti/mod This page explores how to use LTI External tools in your course as activities. 1 How is it set up? 1.1 General 1.1.1 Content 1.1.2 Display activity name when students access the tool 1.1.3 Display activity description when students access the tool 1.1.4 Grade 1.1.5 Other settings 2 Using an LTI External tool as an activity 3 See also How is it set up? To create an activity using an LTI External tool, go to the Course page and turn on Edit mode. Click either the link ‘Add an activity or resource’ at the bottom of each section, or click anywhere on the course page where you want to add your item. The Activity chooser will show; then, select the tool you want to create an activity with. If the tool you want to use is not in the Activity chooser, you need to toggle the 'Show in activity chooser' option in the table in Course page > More > LTI External tools. This page is also where you can see all LTI External tools available in your course. For more information, see Managing LTI External tools. Once you select the tool in the Activity chooser, you can continue with activity creation and select the settings you'd like. General Content If you're using a tool that supports deep linking, you will see a 'Select content' button on top of the activity form. Use this button to select which specific content from the tool you want to use in your activity. Once you select content, the Activity name and Activity description might be automatically populated by the tool. If not, give your activity a name and, optionally, a description. Display activity name when students access the tool You will only see this setting if your site uses the Classic theme and, in the tool settings, the tool’s content display has been configured as ‘Embed’ or ‘Embed, without blocks’. This setting determines whether the activity name is displayed on the screen once your students access it. Display activity description when students access the tool You will only see this setting if, in the tool settings, the tool’s content display has been configured as ‘Embed’ or ‘Embed, without blocks’. This setting determines whether the activity description is displayed on the screen once your students access it. Grade Your activity will only have a Grade section if the tool it is using has been given permission to write grades in the gradebook. In activities created using LTI External Tools, the grade will always be given by the tool. You might have the option to completely deactivate grading for your activity if the checkbox ‘Allow tool to add grades in the gradebook’ is displayed. If you see the Grade section, but there is no checkbox  ‘Allow tool to add grades in the gradebook’, it means that your site administrator has configured the tool to always write grades in the gradebook. Other settings Depending on what is enabled for your site and course, you may also need to explore Common module settings, Restrict access, Activity completion, Tags and Competencies. Using an LTI External tool as an activity When students click the tool link they are automatically signed into the connecting site/tool provider (screenshot 1 below) and can take the quiz immediately. When the student has completed the quiz, the tool provider displays their grade (screenshot 2 below) and when the student logs out of the tool provider, the grade is passed back into Moodle (screenshot 3 below). 1.Student logged directly into tool provider 2. Tool provider displays score 3. Score passed to Moodle's gradebook See also Forum discussion 1.3 External Tools adding to a course in Moodle version 4.3 Source: docs.moodle.org/503/en/mod/lti/mod — MoodleDocs (GPL) · Imported 2026-11-10. mod/lti/view 1 What are LTI External tools? 2 Viewing and managing LTI External tools 3 Adding LTI External tools at course level 3.1 Tool settings 3.2 Services 3.3 Privacy 4 Site administration settings 4.1 Adding a tool site-wide 4.1.1 Making a tool available to specific course categories 4.2 Registering an LTI Advantage tool 4.3 Registering an LTI 1.1 tool using a cartridge 4.4 Registering an external LTI 2.0 external tool 4.5 Viewing more details 5 External tool capabilities 6 See also What are LTI External tools? Load video YouTube YouTube might collect personal data. Privacy Policy LTI External tool LTI External tools are add-on apps you can integrate into your course, such as interactive content, activities, or assessments. Teachers can link to these activities from within their Moodle course page, and students can access them without leaving their Moodle course or having to log in to a different system. Where available, and depending on each tool, teachers can also have grades sent back into Moodle. The link between Moodle and these tools is made through the Learning Tools Interoperability (LTI) standard, which integrates learning platforms with learning tools to create a richer, seamless learning experience. Essentially, the LTI standard enables a secure, bi-directional exchange of information between Moodle and external learning tools. LTI External tools can be used in Moodle as activities. This page explores the LTI External Tools page, which allows you to see which LTI External tools are available in your course. It also covers how to add new LTI tools to your course, and how administrators can add LTI tools to their site. Viewing and managing LTI External tools To view the LTI External tools that are available in your course, go to Course navigation > More > LTI External tools. If your administrator or another teacher have already configured tools for your course, they will be shown on this page. The table on the page contains information about the available LTI tools in the course: Name Description Usage count: How many times the tool is being used in the course Show in Activity chooser: Whether the tool is displayed in the activity chooser so it can be used as an activity in the course. The context menu (···) contains actions you can perform on the tool, such as Edit its settings, Delete it, or see its registration details (for LTI 1.3 tools only). The actions you can perform depend on the permissions your administrator has given you. If instead of the three dots menu there is a lock icon, it means that the tool has been configured by your administrator for the whole site, and you can’t edit it. Adding LTI External tools at course level If your administrator has given you permission to manage LTI External tools, you can add new tools to your courses using the ‘Add tool’ button on the LTI External tools page. Tools that you add at course level will appear in your activity chooser by default. You can remove them from the activity chooser by going to Course page > More > LTI External Tools and toggling them off in the column ‘Show in activity chooser’. Tool settings In Tool settings, give your tool a name (and, optionally, a description). To fill in the rest of the fields in this section, including the LTI version, follow the instructions from your tool provider. If the tool doesn’t provide information about some of these settings, it’s ok to leave them blank. Tool URL - This is the URL for connecting to site. If your moodle site uses SSL (is on HTTPS) you will only be able to use a tool that also uses SSL. Make sure the tool URL has HTTPS before attempting to use it or you may get a blank page. LTI version - The LTI version of the tool you're adding. Consumer key -this tells the connecting LTI compliant site that your Moodle is allowed to connect. The "tool provider", i.e. the manger of the connecting LTI compliant site will issue you with this key. If you are merely linking to a tool with no secure access or gradebook sharing then you won't need a consumer key. If you are linking to a course or activity from another Moodle site, then you can add any consumer key. Shared secret - this is the "password" to connect to the tool - the LTI compliant site. Custom parameters - most times, you can leave this blank. The tool provider might use this to allow you to display a specific resource. Default launch container - this is how the external tool will be displayed. Embed - The content will appear within the activity page where the tool is used, not moving users away from the page, but hiding any blocks your course may have. Embed without blocks - The content will be displayed in the existing tab or window. Users will have to navigate back to the course using the ‘Back’ button once they’re done. Existing window - The content will be displayed in the existing tab or window. Users will have to navigate back to the course using the ‘Back’ button once they’re done. New Window - the external tool will open in a new window. (A new window or tab will open with the External tool and the old browser window containing the course page will not change.) Content selection URL - The Content Selection URL will be used to launch the content selection page from the tool provider. If it is empty, the Tool URL will be used. The following settings are available by clicking ""Show more": Icon URL - you can display a different icon from the default External Tool icon by entering its URL here Secure Icon URL - enter the URL of a different icon here if your students are accessing Moodle securely via SSL. Services Choose which of the services you want to use with the tool. Privacy Share launcher's name with the tool - this means that the student's name will be displayed on the connected site as in this example Share launcher's email with the tool - this means that the student's email will be displayed on the connected site as in this example Accept grades from the tool - if this is checked, the connecting site will send back grades to Moodle's gradebook. See Using External tool for more information on this. Once you Save changes, the tool will be added to the list of tools in Course page > More > LTI External tools. Site administration settings Adding a tool site-wide An administrator can manually configure external tools in Site administration > Plugins > Activity modules > External tool> Manage tools so that they are available across the site. Adding an external tool A tool may be configured by an administrator so that it is shown in the activity chooser (in addition to the external tool activity) for a teacher to select to add to a course. Its description, if one is present, will appear in the activity chooser. Making a tool available to specific course categories When configuring an LTI External tool, administrators have the option to limit its availability to specific course categories by selecting the desired categories in the 'Restrict to category' section during the tool configuration process. Registering an LTI Advantage tool Moodle allows a simple way to deploy an LTI Advantage tool. If the tool provider supports that flow, you should have received a registration URL. Simply enter that url to a tool in the 'Tool URL' and press 'Add LTI Advantage'. The tool registration UI will open and guide you to the steps for registration. Once completed, the registration panel will close and the list of tools will refresh. If the registration was successful, the newly added tool should be visible in a pending state. The pending state allows you to review the tool configuration, the privacy and services granted, apply possible modifications (for example how the tool appears in the activity chooser), then activate the tool to make it available. In case of errors when trying to start the registration, validate the registration URL with the tool's vendor the registration URL is for an LTI Advantage registration and not for the deprecated LTI 2 registration. For Tool Developers looking to support the automated registration of LTI Advantage tool, there is an implementation guide available. The registration process is also being standardized by IMS Global LTI Working Group. There is also a Youtube video demo-ing and explaining the flow. Registering an LTI 1.1 tool using a cartridge You can register an LTI 1.1 tool type using a cartridge. A cartridge will configure all the information such as launch url, tool name & description and icons for you. To do this, simply enter the url to a tool's cartridge in the 'Tool URL' and press 'Add Legacy LTI'. You will be asked to enter a key and secret. If you don't have them, you can leave them blank and press save changes. Entering a consumer key and secret Registering an external LTI 2.0 external tool The LTI 2 specifications have been deprecated by IMS Global and are no more the preferred way to integrate an external tool in Moodle. Viewing more details On the 'Manage tools' page you can also visit 'Manage preconfigured tools' to view the preconfigured tools in a tabular format. There are tabs to add an external tool, to view those which are pending and to view those which have been rejected: Setting up a new external tool You can also visit 'Manage external tool registrations' to view the tool registrations in a tabular format, or to add an external registration with limited capabilities. To add a tool with limited capabilities. 1. Click 'Configure a new external tool registration' Registering an external tool 2. Configure the details on the settings page: Registration settings page 'Memberships', allow the external tool to request a list of users with a certain role in a specified context e.g. users enrolled in a course. 3. Click the tick/checkmark to register: Activating 4. After obtaining a success message, click to complete the process: Completing the registration 5. If all requirements are met then you will be able to register automatically. 6. Now go to Site administration > Plugins > Activity modules > External tool > Manage external tool types and click the 'Pending tab' 7. Click the tick/checkmark to activate it: Activating from the Pending tab External tool capabilities Add course-specific tool configurations Add a new external tool Add a preconfigured tool Submit a tool to admins for configuration Be an admin when the tool is launched Edit external tool activities i.e. be an Instructor when the tool is launched View external tool activities i.e. launch external tool activities See also LTI External tool FAQ Forum discussion LTI configs when add external tool is switched off Source: docs.moodle.org/503/en/mod/lti/view — MoodleDocs (GPL) · Imported 2026-11-10. mod/lti/view/custom 1 What are LTI External tools? 2 Viewing and managing LTI External tools 3 Adding LTI External tools at course level 3.1 Tool settings 3.2 Services 3.3 Privacy 4 Site administration settings 4.1 Adding a tool site-wide 4.1.1 Making a tool available to specific course categories 4.2 Registering an LTI Advantage tool 4.3 Registering an LTI 1.1 tool using a cartridge 4.4 Registering an external LTI 2.0 external tool 4.5 Viewing more details 5 External tool capabilities 6 See also What are LTI External tools? Load video YouTube YouTube might collect personal data. Privacy Policy LTI External tool LTI External tools are add-on apps you can integrate into your course, such as interactive content, activities, or assessments. Teachers can link to these activities from within their Moodle course page, and students can access them without leaving their Moodle course or having to log in to a different system. Where available, and depending on each tool, teachers can also have grades sent back into Moodle. The link between Moodle and these tools is made through the Learning Tools Interoperability (LTI) standard, which integrates learning platforms with learning tools to create a richer, seamless learning experience. Essentially, the LTI standard enables a secure, bi-directional exchange of information between Moodle and external learning tools. LTI External tools can be used in Moodle as activities. This page explores the LTI External Tools page, which allows you to see which LTI External tools are available in your course. It also covers how to add new LTI tools to your course, and how administrators can add LTI tools to their site. Viewing and managing LTI External tools To view the LTI External tools that are available in your course, go to Course navigation > More > LTI External tools. If your administrator or another teacher have already configured tools for your course, they will be shown on this page. The table on the page contains information about the available LTI tools in the course: Name Description Usage count: How many times the tool is being used in the course Show in Activity chooser: Whether the tool is displayed in the activity chooser so it can be used as an activity in the course. The context menu (···) contains actions you can perform on the tool, such as Edit its settings, Delete it, or see its registration details (for LTI 1.3 tools only). The actions you can perform depend on the permissions your administrator has given you. If instead of the three dots menu there is a lock icon, it means that the tool has been configured by your administrator for the whole site, and you can’t edit it. Adding LTI External tools at course level If your administrator has given you permission to manage LTI External tools, you can add new tools to your courses using the ‘Add tool’ button on the LTI External tools page. Tools that you add at course level will appear in your activity chooser by default. You can remove them from the activity chooser by going to Course page > More > LTI External Tools and toggling them off in the column ‘Show in activity chooser’. Tool settings In Tool settings, give your tool a name (and, optionally, a description). To fill in the rest of the fields in this section, including the LTI version, follow the instructions from your tool provider. If the tool doesn’t provide information about some of these settings, it’s ok to leave them blank. Tool URL - This is the URL for connecting to site. If your moodle site uses SSL (is on HTTPS) you will only be able to use a tool that also uses SSL. Make sure the tool URL has HTTPS before attempting to use it or you may get a blank page. LTI version - The LTI version of the tool you're adding. Consumer key -this tells the connecting LTI compliant site that your Moodle is allowed to connect. The "tool provider", i.e. the manger of the connecting LTI compliant site will issue you with this key. If you are merely linking to a tool with no secure access or gradebook sharing then you won't need a consumer key. If you are linking to a course or activity from another Moodle site, then you can add any consumer key. Shared secret - this is the "password" to connect to the tool - the LTI compliant site. Custom parameters - most times, you can leave this blank. The tool provider might use this to allow you to display a specific resource. Default launch container - this is how the external tool will be displayed. Embed - The content will appear within the activity page where the tool is used, not moving users away from the page, but hiding any blocks your course may have. Embed without blocks - The content will be displayed in the existing tab or window. Users will have to navigate back to the course using the ‘Back’ button once they’re done. Existing window - The content will be displayed in the existing tab or window. Users will have to navigate back to the course using the ‘Back’ button once they’re done. New Window - the external tool will open in a new window. (A new window or tab will open with the External tool and the old browser window containing the course page will not change.) Content selection URL - The Content Selection URL will be used to launch the content selection page from the tool provider. If it is empty, the Tool URL will be used. The following settings are available by clicking ""Show more": Icon URL - you can display a different icon from the default External Tool icon by entering its URL here Secure Icon URL - enter the URL of a different icon here if your students are accessing Moodle securely via SSL. Services Choose which of the services you want to use with the tool. Privacy Share launcher's name with the tool - this means that the student's name will be displayed on the connected site as in this example Share launcher's email with the tool - this means that the student's email will be displayed on the connected site as in this example Accept grades from the tool - if this is checked, the connecting site will send back grades to Moodle's gradebook. See Using External tool for more information on this. Once you Save changes, the tool will be added to the list of tools in Course page > More > LTI External tools. Site administration settings Adding a tool site-wide An administrator can manually configure external tools in Site administration > Plugins > Activity modules > External tool> Manage tools so that they are available across the site. Adding an external tool A tool may be configured by an administrator so that it is shown in the activity chooser (in addition to the external tool activity) for a teacher to select to add to a course. Its description, if one is present, will appear in the activity chooser. Making a tool available to specific course categories When configuring an LTI External tool, administrators have the option to limit its availability to specific course categories by selecting the desired categories in the 'Restrict to category' section during the tool configuration process. Registering an LTI Advantage tool Moodle allows a simple way to deploy an LTI Advantage tool. If the tool provider supports that flow, you should have received a registration URL. Simply enter that url to a tool in the 'Tool URL' and press 'Add LTI Advantage'. The tool registration UI will open and guide you to the steps for registration. Once completed, the registration panel will close and the list of tools will refresh. If the registration was successful, the newly added tool should be visible in a pending state. The pending state allows you to review the tool configuration, the privacy and services granted, apply possible modifications (for example how the tool appears in the activity chooser), then activate the tool to make it available. In case of errors when trying to start the registration, validate the registration URL with the tool's vendor the registration URL is for an LTI Advantage registration and not for the deprecated LTI 2 registration. For Tool Developers looking to support the automated registration of LTI Advantage tool, there is an implementation guide available. The registration process is also being standardized by IMS Global LTI Working Group. There is also a Youtube video demo-ing and explaining the flow. Registering an LTI 1.1 tool using a cartridge You can register an LTI 1.1 tool type using a cartridge. A cartridge will configure all the information such as launch url, tool name & description and icons for you. To do this, simply enter the url to a tool's cartridge in the 'Tool URL' and press 'Add Legacy LTI'. You will be asked to enter a key and secret. If you don't have them, you can leave them blank and press save changes. Entering a consumer key and secret Registering an external LTI 2.0 external tool The LTI 2 specifications have been deprecated by IMS Global and are no more the preferred way to integrate an external tool in Moodle. Viewing more details On the 'Manage tools' page you can also visit 'Manage preconfigured tools' to view the preconfigured tools in a tabular format. There are tabs to add an external tool, to view those which are pending and to view those which have been rejected: Setting up a new external tool You can also visit 'Manage external tool registrations' to view the tool registrations in a tabular format, or to add an external registration with limited capabilities. To add a tool with limited capabilities. 1. Click 'Configure a new external tool registration' Registering an external tool 2. Configure the details on the settings page: Registration settings page 'Memberships', allow the external tool to request a list of users with a certain role in a specified context e.g. users enrolled in a course. 3. Click the tick/checkmark to register: Activating 4. After obtaining a success message, click to complete the process: Completing the registration 5. If all requirements are met then you will be able to register automatically. 6. Now go to Site administration > Plugins > Activity modules > External tool > Manage external tool types and click the 'Pending tab' 7. Click the tick/checkmark to activate it: Activating from the Pending tab External tool capabilities Add course-specific tool configurations Add a new external tool Add a preconfigured tool Submit a tool to admins for configuration Be an admin when the tool is launched Edit external tool activities i.e. be an Instructor when the tool is launched View external tool activities i.e. launch external tool activities See also LTI External tool FAQ Forum discussion LTI configs when add external tool is switched off Source: docs.moodle.org/503/en/mod/lti/view/custom — MoodleDocs (GPL) · Imported 2026-11-10. portfolio/admin Portfolios in Moodle make it easy for a student to export their work to an external portfolio. For example, student work might include forum posts or assignment submissions that they believe demonstrates their knowledge. Portfolios are disabled by default in Moodle and must be enabled by a site administrator. See Managing portfolios for details. File download Flickr.com Google Drive Mahara ePortfolio Portfolios FAQ 1 Exporting to portfolio 2 Items which may be exported to portfolio 3 Export formats 4 Managing your own portfolios 5 See also Exporting to portfolio When portfolios are enabled, forum posts and other exportable data (see below) have an export to portfolio icon or link beside them. To export an assignment submission to a portfolio Click the 'Export to portfolio' link Select the portfolio you wish to export to e.g. Google Docs or file download (this step will be skipped if there's only one) If prompted, select an export format e.g. HTML If file download was selected in step 2, you can then save the file, otherwise you will be given the option to return to the page you were previously viewing or visit your portfolio (certain portfolios only) Items which may be exported to portfolio Assignment submissions - single and multiple file uploads Chat sessions Database activity module entries (##export## tag may be added to list and single templates) Database activities Forum posts Glossary entries Export formats Possible export formats include HTML LEAP2A, a specification for e-portfolio portability Images Text File Managing your own portfolios While the administrator determines which portfolios are enabled on the site in Managing portfolios, an individual user can choose which portfolios to display or hide from the preferences page of the user menu top right, in the section "Portfolios." See also Exabis e-portfolio block Portfolio module Portfolio Plugin for Evernote e-Portfolio overview at Wikipedia Source: docs.moodle.org/503/en/portfolio/admin — MoodleDocs (GPL) · Imported 2026-11-10. portfolios Portfolios in Moodle make it easy for a student to export their work to an external portfolio. For example, student work might include forum posts or assignment submissions that they believe demonstrates their knowledge. Portfolios are disabled by default in Moodle and must be enabled by a site administrator. See Managing portfolios for details. File download Flickr.com Google Drive Mahara ePortfolio Portfolios FAQ 1 Exporting to portfolio 2 Items which may be exported to portfolio 3 Export formats 4 Managing your own portfolios 5 See also Exporting to portfolio When portfolios are enabled, forum posts and other exportable data (see below) have an export to portfolio icon or link beside them. To export an assignment submission to a portfolio Click the 'Export to portfolio' link Select the portfolio you wish to export to e.g. Google Docs or file download (this step will be skipped if there's only one) If prompted, select an export format e.g. HTML If file download was selected in step 2, you can then save the file, otherwise you will be given the option to return to the page you were previously viewing or visit your portfolio (certain portfolios only) Items which may be exported to portfolio Assignment submissions - single and multiple file uploads Chat sessions Database activity module entries (##export## tag may be added to list and single templates) Database activities Forum posts Glossary entries Export formats Possible export formats include HTML LEAP2A, a specification for e-portfolio portability Images Text File Managing your own portfolios While the administrator determines which portfolios are enabled on the site in Managing portfolios, an individual user can choose which portfolios to display or hide from the preferences page of the user menu top right, in the section "Portfolios." See also Exabis e-portfolio block Portfolio module Portfolio Plugin for Evernote e-Portfolio overview at Wikipedia Source: docs.moodle.org/503/en/portfolios — MoodleDocs (GPL) · Imported 2026-11-10. repository/manage instances 1 Enabling repositories 2 Vocabulary 3 Common repository settings 3.1 Cache expire 3.2 Timeout settings 3.2.1 Get file timeout 3.2.2 Sync file timeout 3.2.3 Sync image timeout 3.3 Allow external links 4 Repository capabilities Enabling repositories Repositories can be enabled by an administrator in Site administration > Plugins > Repositories > Manage repositories. A repository plugin may be set to one of three possible statuses: "Enabled and visible" means available for use in the File picker "Enabled and hidden" means not available in the File picker "Disabled" means not available for use and if content has been added to your site you will be given the following message: Are you sure you want to remove this repository plugin, its options and all of its instances - [Repository Name here]? If you choose "Continue and download", file references to external contents will be downloaded to Moodle. This could take a long time to process. With options to Continue, Continue and download, or Cancel. The order in which repositories are shown in the file picker may be set using the up and down arrows. Vocabulary Repository plugin: it is also called a repository type. It can be named Box, Flickr, Mahara, Youtube... Adding a plugin allow users to create instances of this plugin. Only instances are displayed into the file picker. Type only exist in order to let a Moodle administrator to deactivate/delete all instances of a type in one click. Repository instance: An instance is displayed into the file picker and it is the access point to an external repository. An instance can have specific settings (for example be linked to a personal account). First case: when you add the plugin, an instance is automatically created and can not be edited. The Moodle administrator cannot change the instance name. The instance name displayed into the file picker will be exactly the same as the plugin name. For example, Youtube, Box... Second case: the plugin allow the Moodle administrator to add multiple instances. An instance has a name for example Flickr Public access to Martin account, Martin's Mahara... For this second case it is important to identify two different kind of instances: Common instances: The instances set by Moodle administrator in these same administration pages will be available into any file picker. Private instance: A teacher can set some instances available only for a course, and a user can set some instances only available for himself. In order to set instances for a course the teacher will go to the course page, and in order to set instances for a personal use, a user will go on his profile page. An administrator cannot add/edit private instances from the administration pages. Common repository settings Common repository settings can be set by an administrator in Site administration > Plugins > Repositories > Common Repository settings: Cache expire You can specify how long in seconds file listings are cached locally when browsing external repositories. Timeout settings If users are reporting timeouts when using repositories, an admin can increase the timeout for downloading or synchronising files. Get file timeout Timeout in seconds for downloading an external file into Moodle. Defaults to 30. Sync file timeout Timeout in seconds for syncronising the external file size. Defaults to 1. Sync image timeout Timeout in seconds for downloading an image file from external repository during syncronisation. Defaults to 3. Allow external links With some repositories such as Flickr and Wikimedia, users can have the choice whether to copy the media into Moodle (the preferred solution) or to make a link to it instead. Defaults to Yes. Repository capabilities Authenticated user role: View Embedded files View Box repository View a Dropbox folder View Flickr repository Use Flickr public repository in file picker View Google Drive repository View the Merlot repository View Picasa repository View Recent files View Amazon s3 repository View Microsoft OneDrive repository Use uploading in file picker Use URL downloader in file picker View use Private files View Wikimedia repository Use YouTube in file picker Manager, Course creator, Teacher, Non-editing teacher Roles: View File system repository View Server repository View WebDav repository Source: docs.moodle.org/503/en/repository/manage instances — MoodleDocs (GPL) · Imported 2026-11-10. unoconv Note: Unoconv is deprecated. There is rewrite of Unoconv called "Unoserver" but Moodle does not currently support it. See MDL-75066 1 What is unoconv? 2 Installing unoconv on Linux 2.1 Ubuntu 18.04 LTS 2.2 Ubuntu 22.04 LTS 2.3 Ubuntu 16.04 LTS 2.4 Ubuntu 14.04 LTS 2.5 CentOS / RedHat 3 Installing unoconv on OS X 4 Installing unoconv on Windows 5 Run a unoconv listener 6 Offload processing to a different server 7 Additional resources 8 See also What is unoconv? "unoconv" is a command line program that is used to convert between different office document file formats. It uses an instance of LibreOffice to do the conversion and is used by the Assignment activity to convert documents to pdf so that they can be annotated. If unoconv is not installed - the only impact is that the assignment activities will only allow annotations when students upload a pdf document. The steps required to install unoconv are different depending on the operating system that you have installed Moodle on. Installing unoconv on Linux The required version of unoconv is at least 0.7. Depending on your flavour of linux, this may be available in your package manager and you can install it directly with: Ubuntu 18.04 LTS apt-get install unoconv mkdir /var/www/.config chown www-data:www-data /var/www/.config Ubuntu 22.04 LTS You will need to install Python 3, and note that the unoconv will only support Python up to 3.11. sudo apt install python3 To download the latest version of unoconv (0.8.2): cd /opt sudo git clone https://github.com/unoconv/unoconv.git sudo nano /opt/unoconv/unoconv Change the first line of code by adding the number 3 to the Python version, as per the example below: #!/usr/bin/env python3 Permissions and run link: sudo chmod ugo+x /opt/unoconv/unoconv sudo ln -s /opt/unoconv/unoconv /usr/bin/ Now we need LibreOffice installed: sudo add-apt-repository ppa:libreoffice/ppa sudo apt install libreoffice -y Production servers should consider running unoconv in listener mode, see Installing unoconv#Run a unoconv listener or follow directions below: sudo nano /etc/systemd/system/unoconv.service And then copy and paste the following configuration into it: [Unit] Description=Unoconv listener for document conversions Documentation=https://github.com/dagwieers/unoconv After=network.target remote-fs.target nss-lookup.target [Service] Type=simple ExecStart=/usr/bin/unoconv --listener [Install] WantedBy=multi-user.target And then enable and start the above service: sudo systemctl enable unoconv.service sudo systemctl start unoconv.service Ubuntu 16.04 LTS apt-get install unoconv If your package manager contains an older version of the package, you will have to find a newer version and install it manually (Debian Testing). Unoconv itself is just a python script, so it has few dependencies. Potential problems: On some systems the apache user home directory is set to a non existent folder. This can cause unoconv to fail. There are 2 solutions to this - one is to make a (writable) home directory for the apache user (like /home/www-data). The other is to run a unoconv listener (described below) as another user other than the apache user (someone with a valid, writable home directory). If you are still running 14.04LTS then unoconv won't work as shipped. This might not be the most efficient route but it worked by first installing unoconv (version 0.6) from the package manager as above. You will then need to grab unoconv 0.7 from Github (https://github.com/dagwieers/unoconv), then upgrade to the latest libreoffice using the PPA (https://launchpad.net/~libreoffice/+archive/ubuntu/ppa). Point moodle at the Github version of unoconv. You need to modify the Python unoconv file by changing 'python' in the first line to 'python3'. You also need to change the permissions on the directory /var/www so that the user www-data can write to it (www-data needs to write to its home directory which it cannot do by default). On Debian Stable, the cleanest method to install unoconv is using Jessie-backports. First, enable backports repo line in /etc/apt/sources.list: #### Jessie-backports #### deb http://ftp.debian.org/debian jessie-backports main Then, update and install unoconv from jessie-backports: apt-get update apt-get install -t jessie-backports unoconv The package will bring all necessary dependencies for you. Ubuntu 14.04 LTS 1) Navigate to opt directory cd /opt 2) Download unoconv sudo wget https://raw.githubusercontent.com/dagwieers/unoconv/master/unoconv 3) Modify the Python unoconv file by changing 'python' in the first line to 'python3' sudo nano /opt/unoconv e.g. #!/usr/bin/env python3 4) Make unoconv executable sudo chmod ugo+x /opt/unoconv 5) Add LibreOffice PPA to your system and install the latest version sudo add-apt-repository ppa:libreoffice/ppa sudo apt-get update sudo apt-get install libreoffice 6) Change permissions so apache can write to its home directory sudo chown www-data /var/www 7) From your browser navigate to Site administration > Server > System paths and add the path to unoconv /opt/unoconv Note: if you would like to preserve the default path add a symbolic link to /usr/bin: sudo ln -s /opt/unoconv /usr/bin/ 8) Navigate to Site administration > Plugins > Activity modules > Assignment > Feedback plugins > Annotate PDF > Test unoconv path You should see: "The unoconv path appears to be properly configured." Download the converted pdf test file. (if the PDF fails to load ensure that www-data can write to its home directory: /var/www) CentOS / RedHat Just before you start, you might like to consider installing the latest LibreOffice 6.3.2 directly from RPM packages, that are not part of the distribution you are using. As of nov-2016, CentOS and RedHat 7.2 comes with OpenOffice 4.3 . so if you are not interested in using this version and would like to install latest 6.3 independent LibreOffice 6.3, please remove any openoffice packages you might have on your OS by issuing: yum remove openoffice* libreoffice* It is recommended to chose your localized libreoffice version for better document conversions. yum install libreoffice libreoffice-pyuno git clone https://github.com/dagwieers/unoconv.git # copy cp unoconv/unoconv /usr/bin # or link unoconv to /usr/bin ln -s unoconv/unoconv /usr/bin/unoconv Note: depends on what version you are installing, openoffice or libreoffice, make sure you installed the *-pyuno package. (the headless package is already compiled into the core) Make sure it is properly configured: http://your-moodle/admin/search.php?query=unoconv Production servers should consider running unoconv in listener mode, see Installing unoconv#Run a unoconv listener or follow directions bellow vi /etc/systemd/system/unoconv.service And then copy and paste the following configuration into it: [Unit] Description=Unoconv listener for document conversions Documentation=https://github.com/dagwieers/unoconv After=network.target remote-fs.target nss-lookup.target [Service] Type=simple Environment="UNO_PATH=/usr/lib64/libreoffice/program" ExecStart=/usr/bin/unoconv --listener [Install] WantedBy=multi-user.target And then enable and start the above service systemctl enable unoconv.service systemctl start unoconv.service If your selinux is enable yous should set #setsebool -P httpd_execmem on Installing unoconv on OS X Download and install LibreOffice for Mac. Unfortunately - newer versions of LibreOffice are not currently compatible with unoconv for mac and you will have to install LibreOffice 4.2 (Direct download link - https://downloadarchive.documentfoundation.org/libreoffice/old/4.2.5.2/mac/x86_64/LibreOffice_4.2.5.2_MacOS_x86-64.dmg). Get the latest version of the unoconv python script. One way to do this is with http://brew.sh/ brew. brew install unoconv If you haven't done it already - install ghostscript. One way to install ghostscript is also with http://brew.sh/ brew brew install ghostscript Set the paths to unoconv and ghostscript in Moodle (Site administration > Server > System paths). If you used brew, they will both be installed to /usr/local/bin. LibreOffice needs write access to the current users home directory to create some temporary files. When unoconv is run as the webserver user (_www) it does not normally have this permission. There are some ways to get around this - one way is just to give the "_www" user write access to /Library/WebServer. Another solution is to convince LibreOffice that this users home directory is somewhere else. This can be done by inserting this code into the top of the unoconv python script. Code to insert: # Set home to a writable folder. os.environ['HOME'] = '/tmp/' This needs to be inserted at line 36 immediately after the line "exitcode = 0" Installing unoconv on Windows Download and install LibreOffice for Windows. Open Office will work just as well, but the documentation for unonconv is set to Libre Office. Download the latest version of the unoconv script from https://github.com/dagwieers/unoconv/releases (download the zip version). From the downloaded zip file - extract the one file unoconv-0.7\unoconv (no file extension). This is the unoconv script - none of the other files in the package are required. Rename the downloaded script to unoconv.py and copy it to a folder in either C:\Program Files or C:\Program Files (x86). Create a batch file in the same folder as unoconv.py name it something like unoconv.bat, it must be a batch file, with these contents: @"C:\Program Files\LibreOffice\program\python.exe" c:\unoconv\unoconv.py %* or: @"C:\Program Files\OpenOffice\program\python.exe" c:\unoconv\unoconv.py %* Next, you have to Set paths in Moodle. Login as admin and go to Site administration > Server > System paths Set: Path to Ghostscript (pathtogs) to C:\Program Files\gs\gsversion\bin\gswin64c.exe. Do not use gswin32.exe or gswin64.exe, these are not command line programs - use gswin32c.exe or gswin64c.exe. Set: Path to Python (pathtopython) to C:\Program Files (x86)\OpenOffice\program\python.exe or C:\Program Files (x86)\LibreOffice\program\python.exe. Identify in the path whichever program you use and include the full exe name for both Ghostscript and Python. Save the pathto statements and a green tick should appear if Moodle is communicating with the required files. Go to Site administration > Plugins > Document converters and enable Unoconv then select Settings Enter the path statement to Path to unoconv document converter: C:\Program Files (x86)\unoconv\unoconv.bat. Include the full name of the .bat file. Test ghostscript and unoconv are working correctly in the admin test pages Site administration > Plugins > Activity modules > Assignment > Feedback plugins > Annotate PDF. Run a unoconv listener Unoconv utilises a client/server process when converting documents. By default, when there is no running server process - each time unoconv runs it will start a server process, send its request and shut down the server process when the request is complete. The drawback of this mode is that if 2 requests are submitted simultaneously - this can cause the first request to shutdown the server process when the second request is still in progress - and the second conversion request fails. A more robust way to configure unoconv is to start a server process at boot time, and/or run a script to monitor it and restart it if it crashes. To start a unoconv listener at boot time - you need a start up script. Different operating systems and Linux distributions use different startup scripts - but here are some examples of startup scripts for different systems. Upstart script for Ubuntu based systems Launchd script for OS X Init script for Debian Init script for CentOS/RedHat 6.x SystemD service script for CentOS/RedHat 7.x Offload processing to a different server Processing office documents can put increased load on your webserver, which may impact on the responsiveness of your site. If you are installing unoconv on a large site you may want to consider running unoconv on a server that is not also serving web requests. How to do this: Install unoconv on each webservers and the remote server following the installation instructions above. Make sure unoconv is started at boot time on the remote server with the "--listener" argument and is monitored and restarted if it exits (see Debian init script for an example of how to do this). By default, unoconv will only listen on localhost (127.0.0.1): if you want to connect to the listener process from another server, you need to start the unoconv listener process with the "--server" argument too! An example command for starting a listener on a remote server (0.0.0.0 listens on all interfaces): unoconv --listener --server 0.0.0.0 --port 2002 Open the firewall port 2002 between the moodle webservers and the machine running unoconv. Share the moodle data root between the webservers and the machine running unoconv. This folder must be mounted at the same path on all servers. Install a wrapper for unoconv on the webservers that forwards the requests to the remote server. Example: #!/bin/bash # Wrapper script for unoconv to forward processing. # Install to /usr/bin/unoconv-remote with 755 permissions /usr/bin/unoconv --server= "$@" Configure the path to unoconv in the Moodle admin settings to point to this wrapper script. Additional resources GitHub dagwieers/unoconv has additional information on installation of unoconv and troubleshooting tips. See also Is the unoconv installation a security risk? forum discussion Source: docs.moodle.org/503/en/unoconv — MoodleDocs (GPL) · Imported 2026-11-10. user/contentbank 1 What is the content bank? 2 Where is the content bank? 3 How does the content bank work? 4 H5P options 5 Content bank custom fields 6 Searching the content bank 7 Viewing unlisted content in the content bank 8 Restoring a course with a content bank 9 Admin settings 10 Capabilities 10.1 Repository: Content bank 10.2 Course 10.3 H5P What is the content bank? The content bank is an area in Moodle where content (currently H5P content) may be stored, edited and created. The content bank repository gives access to these files from the file picker. Content bank Where is the content bank? As a teacher, when you are in a course you'll find a link to the content bank from Course navigation > More (Boost-based themes) or under Site pages (Classic-based themes). Files may be viewed in list view by clicking the icon top right of the content bank. The content bank repository is available from the file picker to locate and add H5P files into courses. How does the content bank work? New H5P content may be created via the Add button. It can be edited by clicking into the content then clicking Edit: Editing existing H5P H5P activities can also be uploaded into the content bank then edited if required. H5P activity types available in the content back are automatically downloaded via CRON or can manually be added by uploading h5p activity files (*.h5p). H5P options Click into an H5P activity and from the More dropdown, access the option you want: Click on More and select Copy content to make a copy of an activity which you can then edit. Content bank custom fields If your admin has created a content bank custom field from Site administration > Plugins > Content bank > Content bank custom fields, this will be available when creating or editing an H5P file. Searching the content bank The search field above the content bank allows you to search for H5P content in the course you are in. When adding an H5P activity from Add an activity or resource > H5P, you can search the content bank for H5P in other courses and categories, depending on permissions. Searching the content bank Viewing unlisted content in the content bank Teachers can make their own content listed or unlisted from the dropdown and can view their own unlisted content. Only those with the capability View unlisted content from the content bank repository can view all unlisted content both in the content bank and file picker. Those with the capability View unlisted content from the content bank repository can check/uncheck a box to hide or show unlisted content. Restoring a course with a content bank When restoring a course, the content bank contents are also restored to the new course. Please keep in mind that the user who restores the course will be the owner of the content bank contents in the new course, and this will affect who can edit or delete the contents based on the Delete any content from the content bank and Manage any content from the content bank capabilities. Admin settings From Site administration > Plugins > Content bank > Manage content types, you can enable and disable H5P content. From Site administration > Plugins > Content bank > Content bank custom fields you can create custom fields for teachers to use when creating and editing an H5P file. From Site administration > Repositories > Content bank you can rename the content bank repository if desired. Capabilities Repository: Content bank Access course category content bank files - allowed for the default roles of manager and course creator Access system content bank files - allowed for the default role of authenticated user Access course content bank files - allowed for the default roles of manager, course creator and teacher View content bank repository - allowed for the default roles of manager, course creator and teacher View unlisted content from the content bank repository - allowed for the default roles of manager and course creator. Course Access the content bank - allowed for the default roles of manager, course creator and teacher Delete any content from the content bank - allowed for the default roles of manager and course creator Delete content from own content bank - allowed for the default role of authenticated user Manage any content from the content bank - allowed for the default roles of manager and course creator Manage content from own content bank - allowed for the default roles of manager, course creator and teacher Upload new content to the content bank - allowed for the default roles of manager, course creator and teacher Create or edit content using a content type editor - allowed for the default roles of manager and course creator Download content from the content bank - allowed for the default roles of manager, course creator and teacher. H5P Access H5P content in the content bank - allowed for the default roles of manager, course creator and teacher Upload new H5P content - allowed for the default roles of manager, course creator and teacher Create or edit content using the H5P editor - allowed for the default roles of manager, course creator and teacher Source: docs.moodle.org/503/en/user/contentbank — MoodleDocs (GPL) · Imported 2026-11-10. user/files 1 The private files area 2 Private files management 2.1 Bulk delete private files 3 Emailing private files as an attachment 4 Making an alias/shortcut to a file in the private files area 5 Private files size limit 6 Checking space used by Private files 7 Preventing access to Private files 8 Private files capabilities The private files area Each user has a private files area for uploading and managing a set of files. If enabled by the administrator, users can also email files to their private files area. Load video YouTube YouTube might collect personal data. Privacy Policy Private files The private files area can be accessed from User menu top right or, if added, from the My private files block. If the private files repository is enabled by a site admin, it is available as a source within the filepicker when selecting files to use in a course. Private files management To add a file to your private files area Click Private files from your User menu. The file manager will appear. If desired, create a folder for your file(s) Click on the Add button to upload from the File picker or drag and drop from your desktop. It will look like the files are already there, but they aren't until you do the next step! Click the 'Save changes' button Once uploaded, files will appear as thumbnails. Clicking the icons top right will display them in table or list view as an alternative. Bulk delete private files When in list view, it is possible to select and bulk delete private files, rather than removing them individually. Bulk delete private files Emailing private files as an attachment This requires the administrator to have enabled incoming mail processing in Site administration>Server>Incoming mail configuration>Mail settings and Email to private files in Site administration>Server>Incoming mail configuration>Message handlers. When these settings are enabled, users will see an email address in their private files screen: This is the email address to which the email including the attached file should be sent. It will appear after cron in the user's private files after cron has run. For a demonstration of emailing to private files, watch the Usability screencast from Moodle HQ, starting at 1m8s. Making an alias/shortcut to a file in the private files area If a file is uploaded into your private files area, it is possible when using it elsewhere on Moodle to select it as an alias/shortcut. This means that if you update the file in your private files area, it will automatically update elsewhere on Moodle. See Working with files for more information. Private files size limit The size limit for each user's private files area is set by a site administrator in 'Private files space' (userquota) in Site administration > Security > Site security settings. Checking space used by Private files Non-admin users such as students and teachers see a message informing them how much space they have used when they upload a file to their Private files See the discussion: How do you check space used by Private files? to see how, as an admin you can see private files usage on your site. Preventing access to Private files If you don't wish to use private files on your site, you can prevent access as follows: Log in as an admin and go to Site administration > Plugins > Repositories > Manage repositories and disable the Private files repository. Go to Site administration > Users > Permissions > Define Roles and edit the authenticated user role. Unset the capabilities moodle/user:manageownfiles and repository/user:view and save changes. If you want teachers to be able to access private files but not students, then in addition to the above steps Go to Site administration > Users > Permissions > Define Roles and create a new role to be assigned in the system context. Allow the capabilities moodle/user:manageownfiles and repository/user:view and save changes. Assign teachers this new role as a system role. Private files capabilities Manage files in own private file area View user private files Source: docs.moodle.org/503/en/user/files — MoodleDocs (GPL) · Imported 2026-11-10. user/portfolio Portfolios in Moodle make it easy for a student to export their work to an external portfolio. For example, student work might include forum posts or assignment submissions that they believe demonstrates their knowledge. Portfolios are disabled by default in Moodle and must be enabled by a site administrator. See Managing portfolios for details. File download Flickr.com Google Drive Mahara ePortfolio Portfolios FAQ 1 Exporting to portfolio 2 Items which may be exported to portfolio 3 Export formats 4 Managing your own portfolios 5 See also Exporting to portfolio When portfolios are enabled, forum posts and other exportable data (see below) have an export to portfolio icon or link beside them. To export an assignment submission to a portfolio Click the 'Export to portfolio' link Select the portfolio you wish to export to e.g. Google Docs or file download (this step will be skipped if there's only one) If prompted, select an export format e.g. HTML If file download was selected in step 2, you can then save the file, otherwise you will be given the option to return to the page you were previously viewing or visit your portfolio (certain portfolios only) Items which may be exported to portfolio Assignment submissions - single and multiple file uploads Chat sessions Database activity module entries (##export## tag may be added to list and single templates) Database activities Forum posts Glossary entries Export formats Possible export formats include HTML LEAP2A, a specification for e-portfolio portability Images Text File Managing your own portfolios While the administrator determines which portfolios are enabled on the site in Managing portfolios, an individual user can choose which portfolios to display or hide from the preferences page of the user menu top right, in the section "Portfolios." See also Exabis e-portfolio block Portfolio module Portfolio Plugin for Evernote e-Portfolio overview at Wikipedia Source: docs.moodle.org/503/en/user/portfolio — MoodleDocs (GPL) · Imported 2026-11-10. video Video is a very powerful tool to use in a Moodle course. Teachers and students can use video actively, by recording short messages directly into the editor. Teachers can also display video so students, for example, catch up on lectures they missed, learn from a "how-to" screencast, or improve their language skills by watching native speakers interact. 1 Recording short video messages 2 Recording your screen 3 Where to host the videos 4 Ways of displaying video 4.1 Linking to a video online elsewhere 4.2 Uploading a video 4.3 Embedding a video in its own player 4.3.1 Using the multimedia icon 4.3.2 Using a hyperlink 5 See also Recording short video messages Moodle's Text editor allows teachers and students to record short video messages by clicking the relevant icon.( If you don't see this setting, ask your administrator to check the RecordRTC settings.) Example uses are: Introductions in Forum posts Spoken assignments instead of typed Courses where teachers and students interact by signing instead of speaking or typing. Recording your screen If enabled by the admin from Site administration > Plugins > TinyMCE > RecordRTC the record video icon will include an option 'Record screen, allowing those with the relevant capability to create a short screencast. Where to host the videos If you upload your videos to your Moodle site, storing them on your own server, then you retain ultimate control. If you are worried about multiple copies of the same video taking up lots of space, then that is not a problem; the Moodle file system is clever enough to only store a single copy of a file, no matter how many times you upload it to your server. When server space or upload limits are restricted, or if you are seeking some video player features not available within Moodle, it is convenient to upload videos to an online site like api.video, YouTube or Vimeo. They can easily be embedded inside Moodle from such sites and privacy can still be maintained if you choose their private video sharing option. If you do choose to upload videos into your Moodle site, realize that the size of your Moodle backups will grow. For example, a 1GB video will increase your Moodle backup by approximately 1GB. By using an external video platform for videos and linking to them within Moodle, you avoid this "backup size" problem. Ways of displaying video Linking to a video online elsewhere If your video is hosted elsewhere online (such as YouTube, Vimeo or api.video) you can simply link to the relevant page by choosing URL from 'Add an activity or resource' and pasting in the relevant link. Note that, in an establishment where certain video sharing sites might be banned, your students might not be able to access your video through Moodle. Uploading a video If your browser allows resources to be dragged and dropped, then you can turn on the editing and drag the video directly onto the course page. A box will then appear for you to decide whether you want the video embedded in a label, or added as a clickable file resource. Alternatively, you can upload the video by turning the editing on and choosing Add an activity or resource > File Embedding a video in its own player Moodle uses VideoJS player as its default player as it is responsive and displays video well across devices and browsers. With the Multimedia plugins filter enabled, videos may be embedded as follows: Using the multimedia icon With your editing turned on, click into the editor text box where you wish to embed your video. Click the Multimedia icon. If your video is online, paste its URL into the box. If your video is one you want to upload, drag and drop the file or click to select it. Click the Browse repositories button to locate and upload your video from the repository where it is stored. (What you see depends on what the admin has enabled.) If you have it in more than one file type (such as .mov and .mp4) then you can upload an alternative video by clicking 'Add alternative source'. Display options allows you to specify a height and width for the video Advanced settings allows you to decide how the video will play Subtitles and captions allows you to add subtitle files (VTT) in different languages and/or caption files, with descriptions, chapters, and metadata. Subtitles, captions, chapters, and descriptions can be added to videos and audios using the WebVTT file format. These files can be created using caption making software or just a plain text editor. If the video is on YouTube, subtitles can be generated automatically then corrected. Software such as Camtasia enables subtitles to be easily added. NOTE: The files must be uploaded to Moodle; they will not display if they are linked from elsewhere. Click the Insert media button when you are ready. Your video will appear as a blue link until you save the changes. Using a hyperlink (Note: this method has no advantage over using the media icon.) With your editing turned on, click into the editor where you wish to embed your video. Type some blank spaces (or some text) and select them. Click the hyperlink icon. (The icon will only be clickable if you have selected text or spaces.) Click 'Browse repositories' This takes you to the file picker. Follow the instructions for uploading/selecting your video as for using the Moodle media icon. When your video is chosen, it will appear in the link URL box. Click Insert: Don't panic! You will now only get a blue line (if you selected blank spaces) or the actual text underlined in the Atto editor: When you click save changes to return to the main course page, your video will display. See also Media FAQ Multimedia plugins filter Jitsi - This module allows creating jitsi-meet videoconference sessions Big Blue Button - Integrate BigBlueButton within Moodle - including record and playback of sessions Deft response block - Allows teacher streaming video to learners as pat of other activities Forum discussions: Best video format download h5p interactive video in moodle Workshop Module enhances American Sign Language classroom with Video Recordings Source: docs.moodle.org/503/en/video — MoodleDocs (GPL) · Imported 2026-11-10. working with files 1 Adding files to your course 1.1 Drag and drop 1.2 Add a resource or activity 2 Unzipping uploaded files 3 Viewing uploaded files 4 Editing or updating uploaded files 5 Creating a link to a file 6 SCORM files cannot be updated where alias/shortcut are used 6.1 Areas where links cannot be made 7 Site administration settings 7.1 Adding a new file type 7.2 Restricting allowed file types 7.3 Removing a file type 7.4 Editing an existing file type 7.5 Google docs and docx 8 Alternative to MS PowerPoint and PDF files 9 See also Adding files to your course Moodle provides an easy way for a teacher to present materials to their students. These materials may take the form of files such as word-processed documents or slideshow presentations. The materials can be displayed on the page either as individual items or bundled together inside folders. One teacher might for instance wish to share a single research document in pdf format; another might have a folder of sample past examination papers for students to download. Most types of files can be uploaded and accessed through Moodle but the student needs to have the correct software to be able to open them. To add files to a Moodle course, you must first ensure you have the editing turned on. Drag and drop If you are using a modern browser, you can simply click, hold and drag and drop a file directly onto your course page. You will know if drag and drop is available to you because you will (briefly) see a message at the top of your screen: To drag and drop a folder, you must first compress/zip it using whichever program your computer has. Load video YouTube YouTube might collect personal data. Privacy Policy Dragging and dropping files Add a resource or activity Instead of drag and drop, you can click the link 'Add an activity or resource' and select either File or Folder from the activity chooser. Load video YouTube YouTube might collect personal data. Privacy Policy Uploading files The screen for uploading and displaying a file (or folder of files) includes an "add" button. Clicking on this button takes you to the File picker which is the name given to the file storage and access area within Moodle. Find out more about the places you can upload or add files from in the File picker page. There is also a block (with an arrow) into which you can drag and drop a file straight from your desktop into Moodle. Unzipping uploaded files If you upload a single zipped file, Moodle will automatically unzip it for your students to see it in Moodle. If you upload a number of files as a single zipped file, either as File, nor inside a Folder, Moodle will force the download. Viewing uploaded files Once uploaded, files appear as thumbnails in the file manager for easy recognition. Files view can be easily toggled between icons view or a table view with sizes and dates, or a hierarchical list view. File picker icon view File picker table view File picker hierarchical list view Editing or updating uploaded files Clicking on the name of an uploaded file opens up a pop up dialogue box which allows file details quickly to be altered. Creating a link to a file When an uploaded file - or a file from the Content bank, Private files, Dropbox, File system or NextCloud repositories - is re-used elsewhere on Moodle, the teacher has the option to make a copy (a new, unconnected version) or to link to it (formerly known as a shortcut or alias). If a link is created, then when the original file is updated, it will change in all instances of the link. So a teacher might add course notes to their private files for example, and then add them into a number of courses. When the teacher makes an alteration in the file in their private files, this alteration will be reflected in all instances of the course notes. A link can be recognised by its thumbnail. See the difference in the screenshot below between the original file (left) and the link (right): To update a file, go to its original location (for example Private files) and upload your new version with the same name . You will be prompted to override or rename the file. Choose "override" and this file will replace your original file and the alisas/shortcuts will remain and all be updated to your latest version. Creating a link SCORM files cannot be updated where alias/shortcut are used Note: while it is possible to create alias files for SCORM activities, it is not possible to update the source file and have changes replicated in the alias. Updating the original SCORM (.zip) file will update this location but all alias will convert to 'true copies' of the original and alias will be removed. Areas where links cannot be made A link cannot be made in the following areas of Moodle: an assignment submission a forum post attachment a workshop submission a quiz essay a database activity file field This is to prevent cases such as a student uploading an item for assessment and then subsequently changing the original in their private files. When a student uses a file from their private files in one of these instances, they do not see the options to "copy" or "link". Below is an example of a file added to an assignment: Assignment submission with no option to create an alias Site administration settings An administrator can add new file types and view, edit and delete existing file types from Site administration > Server > File types. This means that, for example, if teachers and students on your site use a lot of files specific to a particular program, such files can now be recognised by Moodle, and, when downloaded, they will open in the correct program, rather than presenting themselves as a generic zip file. Some examples from the list Adding a new file type 1. Scroll down to the bottom of the page and click the "Add" button 2. Add the details of your file type, using the example below as a guide. This example will add the .mobi extension (for a Kindle ebook) with the standard document icon. Adding a new filetype NOTE: The mimetype is set for a file when it is added/uploaded in Moodle (not when it is downloaded). If you change the mimetype associated with a file extension it will not make any difference to existing files. Only files uploaded in the future will have the new mimetype. 3. Click to save the changes and you will see your new file type has been added to the list: New type in the list Restricting allowed file types Allowed file types for Workshop submissions may be restricted It is possible to restrict file types for assignments. See Assignment settings. Removing a file type Clicking the X next to a file type will remove it from the site. You will be prompted to confirm before deletion. Editing an existing file type Clicking the edit icon next to a file type will allow you to change certain details, for example the associated icon and description. If you don't wish to use the default description, you can specify your own custom description (with multi-language tags if your site supports multi-languages) or you can use an alternative language string from mimetypes.php. Google docs and docx Importing Google docs files as docx. See https://moodle.org/mod/forum/discuss.php?d=320144 Alternative to MS PowerPoint and PDF files The Presentation additional plugin displays multimedia HTML5 presentations and slide shows in users' web browsers. A web friendly and more feature rich alternative to MS PowerPoint and PDF. However, presentations must be uploaded to moodledata via FTP and you'll need to learn some basic HTML to create presentations for it. See also How to share a single file with students: File resource. How to share a folder of files with students: Folder. Questions about the file picker: File picker FAQ. Restoring file aliases Source: docs.moodle.org/503/en/working with files — MoodleDocs (GPL) · Imported 2026-11-10.