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

Filters: Difference between revisions

From MoodleDocs
Line 42: Line 42:
       <lang lang="YY">your_content_in_other_language_here</lang>
       <lang lang="YY">your_content_in_other_language_here</lang>
</nowiki>
</nowiki>
works, but maybe unsupported from 1.7.  
works, but may be unsupported from 1.7.  
       <nowiki><lang="XX">your_content_here</lang>
       <nowiki><lang="XX">your_content_here</lang>
     <lang="YY">your_content_in_other_language_here</lang>
     <lang="YY">your_content_in_other_language_here</lang>

Revision as of 14:26, 25 August 2006

Filters allow for the 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 may be added or removed simply by using a file manager to add or remove them to the /filters directory. Moodle detects those that are present and makes them available to use.

Filters administration screen

The filters manager is in the administration block, in the configuration section.

In pre 1.6 version of Moodle, 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, see the documentation for the individual filter for information.

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


Version 1.6 has a good help menu in filter administration. While it looks different it has the same functions of turning on and ordering the filters. Some of the filters have additional setting adjustments which can be changed in this area.

Filters

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

Glossary auto-linking

As the name suggests, this filter enables automatic linking of glossary entries. In addition to this filter, individual glossary entries should have the "This entry should be automatically linked" box checked.

Multimedia plugins

See Multimedia plugins

Multi-language content

This filter enables resources to be created in multiple languages. It looks for <lang> 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.

To use this feature first create your contents in multiple languages (in the same resource). Then enclose each language block in the following tags:

      <span lang="XX">your_content_here</span>
      <span lang="YY">your_content_in_other_language_here</span>

It is essential to be in the "code" editing (press [<>] in the HTML editor), when you enter these tags for them to work.

Even the HTML tagging

      <lang lang="XX">your_content_here</lang>
      <lang lang="YY">your_content_in_other_language_here</lang>

works, but may be unsupported from 1.7.

     <lang="XX">your_content_here</lang>
     <lang="YY">your_content_in_other_language_here</lang>

does NOT work.


To be able to change even resource titles and summaries, you must chose "all strings" in the adminstration choices.

 <span lang="en">Matematically</span> <span lang="sv">Matematiskt (svenska)</span>

would function as English or Swedish title.

It doesn't seem to work for course titles (neither long nor short version).

In the course summary:

<span lang="en">Growth is often a major concern in planning society.
 How can one avoid superficial conclusions? <br>
(Exists in Swedish too. Finns på svenska också)</span>
 <span lang="sv">Tillväxt är ofta använt i samhällsdebatten. 
Hur kan man undvika ytliga slutsatser? 
 (Finns på engelska också. Exists in English too.)
<br /></span> 

Can show in the chosen language (and point out that the other language is there).

That the filter works on multilanguage blocks is important, see forum: http://moodle.org/mod/forum/discuss.php?d=51603 : From which this is copied (and ought to be shortened):

 ... how the multilang filter works:

 1) First of all it looks for multilang Blocks. 
One Multilang block of text is defined as one group of <span lang="XX"> 
tags together, without anything between them.

 2) After this detection of Blocks, for each of them, Moodle selects 
the best language for the user displaying the info, showing its info 
and discarding the rest of lang tags in the block.

 So, applying this behaviour to the example you wrote above, we have:

1) Moodle looks for Blocks and it finds TWO blocks:

Block A: <span lang="de">von links</span>
Block B:<span lang="en"><span="en"><font size="3"> </font></span>from the left</span>

2) For each block, Moodle display the better language. As Both blocks 
only contain ONE lang tag, it's returned, so results are:

For Block A: von links
For Block B: <span="en"><font size="3"> </font></span>from the left

Then obviously, in one web page, those results are showed as:

von links
from the left

The key concept here is the Block of lang. Once you get it, everything is easily to understand. 

Also note that the HTMLEditor seems to introduce an excess of "noisy" tags
 under some circumstances and, if it does so between lang tags, it will be, 
in fact, breaking your blocks of langs! It's always recommended to check the
final HTML generated by the HTML Editor in order to verify that the lang tags 
(and their grouping together is conforming blocks of langs) are properly
 written.

If I were to want to translate a word or phrase to a chosen language in an English text:

If I want to include an explanation <span lang="en"> </span>
 <span lang="sv">(sv: förklaring)</span> in a running text can I do it?
<br />
<br /><span lang="en">If I want to include an explanation in a running text
 can I do it? </span>
<span lang="sv">If I want to include an explanation (sv: förklaring) in a 
running text can I do it?</span>

would both work, but not:

If I want to include an explanation <span lang="en"></span>
 <span lang="sv">(sv: förklaring)</span> in a running text can I do it?
<br />If I want to include an explanation <span lang="sv">(sv: förklaring)</span>
 in a running text can I do it?<br />

which would show the Swedish even if English was the chosen language. NOTE the "span lang=en" must contain something, at least a space.

TeX notation

See TeX filter

Tidy

The tidy filter checks whether HTML code is XHTML compliant, tidying where necessary. To make this filter work you need to have PHP compiled. The discussion Tidy Filter for Moodle 1.5 contains more details.

Word censorship

Black out words found on a list. See Word censorship

Email Protection

The Email Protection filter scans the text for any email addresses. Where found they are changed to reduce the chance of being added to a spammers list.

Email address written in the course presentations (which are open) seem to be hidden entirely (both for logged in Admin and uninvited guests.) In course contents the email seems to be shown even for "guests". Hmm..

Resource Names Auto-linking

The titles of Resources can automatically become hyperlinks that take you to the relevant resource within the same course.

Activity Names Auto-linking

Scans text for activity titles that exist in the same course and creates a link.

Wiki Page Auto-linking

Cache Controls

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.

Moodle1.6


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, all Moodle text will be filtered. This is probably only necessary when using the multi-language filter.

Doesn't seem to include Course titles. (1.6)

Config.php settings

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