Note: You are currently viewing documentation for Moodle 3.3. Up-to-date documentation for the latest stable version of Moodle is probably available here: Filters.

Filters

From MoodleDocs
Revision as of 21:55, 31 March 2007 by Ne Nashev (talk | contribs) (class for multilang)

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 webpage 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 contributed by the community.

Filters are one of Moodle's pluggable resources and may be added or removed simply by using a file manager to add or remove them from the /filters directory. Moodle detects those that are present and makes them available to use.

In versions prior to 1.7, the filters manager and individual filter settings may be found in the site administration block >> Configuration >> Filters. In 1.7 it can be found in the administration block >> Modules >> Filters.

File:Filters configuration table.JPG
Moodle 1.6 Filters administration

Prior to Moodle 1.6 the filters administration screen has two columns - active and inactive. The arrows are used to move filters from one column to the other. Only filters in the active column will be applied. Note that up and down arrows are provided to the left of the active column to enable the order in which filters are applied to be changed. In some cases this can be significant. Template:Moodle 1.6 Moodle 1.6 has a more unified administration screen (similar to the modules and blocks administration screens).

The filters administration screen enables individual filters to be shown (enabled) or hidden (disabled). Only enabled filters will be applied to displayed text. The order in which filters are applied to displayed text can be significant - you can change the order in which enabled filters are applied using the up and down buttons. The enabled filters are applied from the top of the list down. Some filters have their own settings screen. Please refer to the documentation for the individual filter for more information.

Underneath the filter selection area, there are fields which control the cache.

Filters

  • Activity Names Auto-linking - This scans text for activity titles that exist in the same course and creates a link.
  • Algebra - This filter will convert algebra code into GIF images. It requires the tex filter to be installed (see below). Note also that your system must also include the following Perl module: HTML::Entities.pm
  • Database auto-linking - As the name suggests, this filter enables automatic linking of Database module entries.
  • Email Protection - This filter scans the text for any email addresses. Where found they are changed to reduce the chance of being added to a spammers list.
  • Glossary auto-linking - As the name suggests, this filter enables automatic linking of Glossary module entries. In addition to this filter, individual glossary entries should have the "This entry should be automatically linked" box checked.
  • Multi language content - This filter enables resources to be created in multiple languages. It looks for <span lang="xx" class="multilang">...</span> tags which indicate that a text contains multiple languages. Then it selects and outputs the best language for the current user. The language of the resource will change when the user changes their selected Moodle language. Please note: going to the past, the multilang filter supported the <lang> tag. Then, officially, we changed it to the standard HTML <span> tag and the <lang> solution is now deprecated.
  • Multimedia plugins
  • Resource Names Auto-linking - The titles of Resources can automatically become hyperlinks that take you to the relevant resource within the same course.
  • TeX notation
  • Tidy - This filter checks whether HTML code is XHTML compliant, tidying where necessary. To make this filter work you need to have PHP compiled with the libtidy option; see http://www.php.net/tidy. The Using Moodle discussion Tidy Filter for Moodle 1.5 contains more details.
  • Wiki Page Auto-linking
  • Word censorship - This filter "blacks out" words found on a list.

Cache Controls

Template:Moodle 1.6

  • Text cache lifetime - To reduce load on the server and to speed display of pages, Moodle can store previously processed pages (that have not changed) for a period of time. This setting controls the time for which processed pages are stored. A longer setting may improve performance but has the effect that changes to pages may not become visible for a time. You can switch caching off completely here.
  • 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 effects 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 effects 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.
  • Filter all strings - When set to yes, almost all Moodle text will be filtered. This is probably only necessary when using the multi-language filter.

Config.php settings

Template:Moodle 1.5

  • For Moodle 1.6 see the Cache Settings above. For earlier versions of Moodle, the filter/config.php file will need to be changed for the visual effects below. The following two settings affect the glossary, activity and resource linking filters:
To convert only the first matching title on a page, insert or uncomment the following line in config.php: $CFG->filtermatchoneperpage = true;
To convert only the first matching title in a discrete block of text, insert or uncomment the following line in config.php: $CFG->filtermatchonepertext = true;

See also

Non-standard filters:

  • Jmol - for interactive 3D viewing of molecular structures
  • Code Syntax Highlighting - for more readable excerpts of programming languages including PHP, HTML, CSS, and XML amongst many others