Difference between revisions of "User:Frank Ralf/NanoGong"

Jump to: navigation, search
(Replaced content with "See https://docs.moodle.org/20/en/User:Frank_Ralf/NanoGong --~~~~")
Line 1: Line 1:
== Java settings ==
+
See https://docs.moodle.org/20/en/User:Frank_Ralf/NanoGong --[[User:Frank Ralf|Frank Ralf]] 00:51, 16 August 2011 (WST)
(Not sure if this is relevant, but better to keep in mind ...)
 
* see [[Question type plugin how to#Configuration settings for your question type]]
 
 
 
== Filter ==
 
General information on filters in Moodle 2.0 can be found at [[Filters 2.0]] and for developers at [[Filters 2.0]].
 
 
 
=== Language folder ===
 
Add language folder: '''\lang\en\''' and put '''filter_nanogong.php''' file with the following content there:
 
 
 
<code php>
 
$string['filtername'] = 'NanoGong';
 
</code>
 
 
 
[[File:Nanogong filter folder structure.png]]
 
 
 
=== Filter function ===
 
 
 
The filter function is wrapped inside a class:
 
 
<code php>
 
class filter_nanogong extends moodle_text_filter {
 
    function filter($text, array $options = array()){
 
    ...
 
    }
 
}
 
</code>
 
 
 
'''Note''': The callback function has to be '''outside''' this class definition!
 
 
 
=== Preventing caching ===
 
 
 
$CFG->currenttextiscacheable = false;
 
 
 
is deprecated, outcommented
 
 
 
=== File API ===
 
 
 
==== Proof of concept ====
 
* Instead of the old '''file.php''' the new File API uses '''pluginfile.php'''.
 
* I uploaded a test file (sentence.wav) as a resource to find out the internal URL Moodle uses for serving this file.
 
* I then added this full URL as attribute to the NanoGong tag:
 
 
 
<code php>
 
<nanogong
 
    caption="Testing NanoGong..."
 
    url="http://localhost/moodle-MOODLE_20_WEEKLY/pluginfile.php/130/mod_resource/content/1/sentence.wav"
 
/>
 
</code>
 
 
 
* As the URL is already in its full format I just commented out the following lines in '''filter.php'''.
 
 
 
<code php>
 
if ($url != "") {
 
    if ($CFG->slasharguments)
 
        $url; # = "{$CFG->wwwroot}/file.php$url";
 
    else
 
        $url; # = "{$CFG->wwwroot}/file.php?file=$url";
 
}
 
</code>
 
 
 
* This works as a proof of concept.
 
 
 
==== Getting closer ... ====
 
 
 
This modification does also work:
 
 
 
; NanoGong tag
 
<code php>
 
<nanogong
 
    caption="Testing NanoGong..."
 
    url="/130/mod_resource/content/1/sentence.wav"
 
/>
 
</code>
 
 
 
; filter.php
 
<code php>
 
if ($url != "") {
 
    if ($CFG->slasharguments)
 
        $url = "{$CFG->wwwroot}/pluginfile.php$url";
 
    else
 
        $url; # = "{$CFG->wwwroot}/file.php?file=$url";
 
}
 
</code>
 
 
 
==== Documentation ====
 
* see [[File API]] and [[Using the File API]]
 
 
 
* [[File_API#File_serving]]
 
* [[Using_the_file_API#Serving_files_to_users]]
 
* [[File_storage_conversion_Quiz_and_Questions#Serving_files]]
 
 
 
== See also ==
 
 
 
; Necessary updating for Moodle 1.9
 
* see [[User:Frank Ralf/NanoGong/1.9|subpage on Moodle 1.9]]
 
 
 
; Migrating to Moodle 2.0
 
* [[Migrating contrib code to 2.0]]
 
* [[Migrating to 2.0 checklist]]
 
* [[Migrating contrib code to 2.0/Experience of converting a module to Moodle 2]]
 
 
 
; Forums
 
* [http://moodle.org/mod/forum/discuss.php?d=170422 Release of NanoGong 4.1, an important update for Moodle users]
 
* [http://moodle.org/mod/forum/discuss.php?d=174922 NanoGong in Moodle 2.xxx]
 
 
 
; Moodle plugin database
 
* [http://moodle.org/mod/data/view.php?d=13&mode=list&perpage=50&search=&sort=44&order=ASC&advanced=0&filter=1&advanced=1&f_44=&f_45=nanogong all NanoGong plugins]
 
 
 
; NanoGong documentation
 
* http://gong.ust.hk/nanogong/moodle.html
 
* http://gong.ust.hk/nanogong/info_php.html
 
* [http://gong.ust.hk/moodle/course/view.php?id=2 Gong and NanoGong Demonstration]
 
 
 
[[Category:Moodle 2.0|NanoGong]]
 

Revision as of 16:51, 15 August 2011

See https://docs.moodle.org/20/en/User:Frank_Ralf/NanoGong --Frank Ralf 00:51, 16 August 2011 (WST)