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

Jump to: navigation, search

Note: You are currently viewing documentation for Moodle 2.0. Up-to-date documentation for the latest stable version is available here: Frank Ralf/NanoGong.

(Getting closer ...)
(Replaced content with "{{Moved_to_dev_docs}}")
Line 1: Line 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]]
 

Revision as of 07:48, 22 June 2011

This development related page is now located in the Dev docs.

See the User:Frank Ralf/NanoGong page in the Dev docs.