|
|
Línia 1: |
Línia 1: |
| == Java settings ==
| | {{Moved_to_dev_docs}} |
| (Not sure if this is relevant, but better to keep in mind ...)
| |
| * see [[Development: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 [[Development:Filters 2.0]].
| |
| | |
| === Language folder ===
| |
| Add language folder: '''\lang\en\filter_nanogong.php''' with the following content:
| |
| | |
| <code php>
| |
| $string['filtername'] = 'NanoGong';
| |
| </code>
| |
| | |
| === 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 [[Development:File API]] and [[Development:Using the File API]]
| |
| | |
| * [[Development:File_API#File_serving]]
| |
| * [[Development:Using_the_file_API#Serving_files_to_users]]
| |
| * [[Development: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
| |
| * [[Development:Migrating contrib code to 2.0]]
| |
| * [[Development:Migrating to 2.0 checklist]]
| |
| * [[Development: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]
| |
| | |
| ; 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]]
| |
| [[Category:Developer|NanoGong]]
| |