Activity modules
From MoodleDocs
These are by far the most important modules, and reside in the 'mod' directory. There are seven default modules: assignment, choice, forum, quiz, resource, and survey. Each module is in a separate subdirectory and consists of the following mandatory elements (plus extra scripts unique to each module):
- mod.html: a form to set up or update an instance of this module
- version.php: defines some meta-info and provides upgrading code
- icon.gif: a 16x16 icon for the module
- db/: SQL dumps of all the required db tables and data (for each database type)
- index.php: a page to list all instances in a course
- view.php: a page to view a particular instance
- lib.php: any/all functions defined by the module should be in here. If the modulename if called widget, then the required functions include:
- widget_add_instance() - code to add a new instance of widget
- widget_update_instance() - code to update an existing instance
- widget_delete_instance() - code to delete an instance
- widget_user_outline() - given an instance, return a summary of a user's contribution
- widget_user_complete() - given an instance, print details of a user's contribution
- To avoid possible conflict, any module functions should be named starting with widget_ and any constants you define should start with WIDGET_
- Lastly, each module will have some language files that contain strings for that module. See below.
The easiest way to start a new learning activity module is to use the template in mod/newmodule_template.zip. Unzip it and follow the README inside.
You might also like to post first in the Activities modules forum on Using Moodle.