Note:

If you want to create a new page for developers, you should create it on the Moodle Developer Resource site.

NanoGong/Converting to Moodle 2.0: Difference between revisions

From MoodleDocs
(Adding project category)
No edit summary
Line 8: Line 8:
== Java settings ==
== Java settings ==
(Not sure if this is relevant, but better to keep in mind ...)
(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]]
* see [[Question type plugin how to#Configuration settings for your question type]]


== Filter ==
== Filter ==
General information on filters in Moodle 2.0 can be found at [[Filters 2.0]] and for developers at [[Development:Filters 2.0]].
General information on filters in Moodle 2.0 can be found at [[Filters 2.0]] and for developers at [[Filters 2.0]].


=== Language folder ===
=== Language folder ===
Line 90: Line 90:


==== Documentation ====
==== Documentation ====
* see [[Development:File API]] and [[Development:Using the File API]]
* see [[File API]] and [[Using the File API]]


* [[Development:File_API#File_serving]]
* [[File_API#File_serving]]
* [[Development:Using_the_file_API#Serving_files_to_users]]
* [[Using_the_file_API#Serving_files_to_users]]
* [[Development:File_storage_conversion_Quiz_and_Questions#Serving_files]]
* [[File_storage_conversion_Quiz_and_Questions#Serving_files]]


== See also ==
== See also ==
Line 102: Line 102:


; Migrating to Moodle 2.0
; Migrating to Moodle 2.0
* [[Development:Migrating contrib code to 2.0]]
* [[Migrating contrib code to 2.0]]
* [[Development:Migrating to 2.0 checklist]]
* [[Migrating to 2.0 checklist]]
* [[Development:Migrating contrib code to 2.0/Experience of converting a module to Moodle 2]]
* [[Migrating contrib code to 2.0/Experience of converting a module to Moodle 2]]


; Forums
; Forums

Revision as of 07:53, 22 June 2011

Note: This page is a work-in-progress. Feedback and suggested improvements are welcome. Please join the discussion on moodle.org or use the page comments.


This page is for collecting relevant information for converting NanoGong to Moodle 2.0. Any help is welcome! --Frank Ralf 10:35, 7 April 2011 (UTC)

Moodle 2.0


Java settings

(Not sure if this is relevant, but better to keep in mind ...)

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\filter_nanogong.php with the following content:

$string['filtername'] = 'NanoGong';

Filter function

The filter function is wrapped inside a class:

class filter_nanogong extends moodle_text_filter {

   function filter($text, array $options = array()){
   ...
   }

}

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:

<nanogong

   caption="Testing NanoGong..." 
   url="http://localhost/moodle-MOODLE_20_WEEKLY/pluginfile.php/130/mod_resource/content/1/sentence.wav"

/>

  • As the URL is already in its full format I just commented out the following lines in filter.php.

if ($url != "") {

   if ($CFG->slasharguments)
       $url; # = "{$CFG->wwwroot}/file.php$url";
   else
       $url; # = "{$CFG->wwwroot}/file.php?file=$url";

}

  • This works as a proof of concept.

Getting closer ...

This modification does also work:

NanoGong tag

<nanogong

   caption="Testing NanoGong..." 
   url="/130/mod_resource/content/1/sentence.wav"

/>

filter.php

if ($url != "") {

   if ($CFG->slasharguments)
       $url = "{$CFG->wwwroot}/pluginfile.php$url";
   else
       $url; # = "{$CFG->wwwroot}/file.php?file=$url";

}

Documentation

See also

Necessary updating for Moodle 1.9
Migrating to Moodle 2.0
Forums
Moodle plugin database
NanoGong documentation