<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://docs.moodle.org/test/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jcrodriguez</id>
	<title>MoodleDocs - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://docs.moodle.org/test/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jcrodriguez"/>
	<link rel="alternate" type="text/html" href="https://docs.moodle.org/test/Special:Contributions/Jcrodriguez"/>
	<updated>2026-04-25T21:36:55Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://docs.moodle.org/test/index.php?title=Development:Modules&amp;diff=34182</id>
		<title>Development:Modules</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/test/index.php?title=Development:Modules&amp;diff=34182"/>
		<updated>2008-03-28T21:34:46Z</updated>

		<summary type="html">&lt;p&gt;Jcrodriguez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Activity modules&#039;&#039;&#039; reside in the &#039;mod&#039; directory. Each module is in a separate subdirectory and consists of the following mandatory elements (plus extra scripts unique to each module):&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;mod_form.php&#039;&#039; - a form to set up or update an instance of this module&lt;br /&gt;
* &#039;&#039;version.php&#039;&#039; - defines some meta-info&lt;br /&gt;
* &#039;&#039;icon.gif&#039;&#039; - a 16x16 icon for the module&lt;br /&gt;
* &#039;&#039;db/install.xml&#039;&#039; - defines the structure of db tables for all database types. Is used during module installation&lt;br /&gt;
* &#039;&#039;db/upgrade.php&#039;&#039; - defines changes in the structure of db tables. Is used during module upgrade&lt;br /&gt;
* &#039;&#039;db/access.php&#039;&#039; - defines module capabilities&lt;br /&gt;
* &#039;&#039;index.php&#039;&#039; - a page to list all instances in a course&lt;br /&gt;
* &#039;&#039;view.php&#039;&#039; - a page to view a particular instance&lt;br /&gt;
* &#039;&#039;lib.php&#039;&#039; - any/all functions defined by the module should be in here. If the modulename is called widget, then the required functions include:&lt;br /&gt;
:* widget_install() - will be called during the installation of the module&lt;br /&gt;
:* widget_add_instance() - code to add a new instance of widget&lt;br /&gt;
:* widget_update_instance() - code to update an existing instance&lt;br /&gt;
:* widget_delete_instance() - code to delete an instance&lt;br /&gt;
:* widget_user_outline() - given an instance, return a summary of a user&#039;s contribution&lt;br /&gt;
:* widget_user_complete() - given an instance, print details of a user&#039;s contribution&lt;br /&gt;
:* Other functions available but not required are:&lt;br /&gt;
:** widget_delete_course() - code to clean up anything that would be leftover after all instances are deleted&lt;br /&gt;
:** widget_process_options() - code to pre-process the form data from module settings&lt;br /&gt;
:** [[Development:Implementing Reset course functionality in a module|widget_reset_course_form() and widget_delete_userdata()]] - used to implement [[Reset course]] feature.&lt;br /&gt;
:* To avoid possible conflict, any module functions should be named starting with widget_ and any constants you define should start with WIDGET_&lt;br /&gt;
* &#039;&#039;backuplib.php&#039;&#039; and &#039;&#039;restorelib.php&#039;&#039; (optional)&lt;br /&gt;
* &#039;&#039;settings.php&#039;&#039; - (optional) a form definition to set up or update global settings of this module&lt;br /&gt;
* &#039;&#039;lang/en_utf8/widget.php&#039;&#039; - (optional) Lastly, each module will have some language files that contain strings for that module.&lt;br /&gt;
&lt;br /&gt;
IMPORTANT: When creating a new module, the new name of the module must not contain numbers or other special characters!&lt;br /&gt;
&lt;br /&gt;
You need a db table with the same name that your module. This table must at least have three fields: id, course and name.&lt;br /&gt;
&lt;br /&gt;
You should also make sure that your activity module provides appropriate support for groups and metacourses. &lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
* Tracker issue [http://tracker.moodle.org/browse/CONTRIB-52 CONTRIB-52 Improvements to make NEWMODULE really useful] - including download link for new module template supporting roles, formslib etc. (unfinished) &lt;br /&gt;
* http://download.moodle.org/plugins16/mod/NEWMODULE.zip - new module template for versions of Moodle prior to 1.7. Please follow the README instructions inside the zip.&lt;br /&gt;
* Using Moodle [http://moodle.org/course/view.php?id=5 Activity modules] forum&lt;br /&gt;
* Using Moodle forum discussions: [http://moodle.org/mod/forum/discuss.php?d=66165 A new resource type: where do I put the language strings?], [http://moodle.org/mod/forum/discuss.php?d=65986 New Module Template Code for Moodle 1.7], [http://moodle.org/mod/forum/discuss.php?d=86837 Third-party module backup]&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer|Modules]]&lt;br /&gt;
[[Category:Modules]]&lt;br /&gt;
&lt;br /&gt;
[[es:Módulos de actividades (desarrollador)]]&lt;br /&gt;
[[fr:Modules (développeur)]]&lt;br /&gt;
[[ja:モジュール (開発者)]]&lt;/div&gt;</summary>
		<author><name>Jcrodriguez</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/test/index.php?title=Development:UTF-8_migration&amp;diff=13735</id>
		<title>Development:UTF-8 migration</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/test/index.php?title=Development:UTF-8_migration&amp;diff=13735"/>
		<updated>2006-08-02T17:41:44Z</updated>

		<summary type="html">&lt;p&gt;Jcrodriguez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The goal for this pages is to have a real roadmap for the migration of Moodle to UTF-8. This includes both language packages and DB contents. Every step in the roadmap must be documented to explain all the alternatives and potential problems we find and their solutions.&lt;br /&gt;
&lt;br /&gt;
==Moodle migration to UTF-8 - General roadmap and detailed implementation plan==&lt;br /&gt;
&lt;br /&gt;
* [[UTF-8 justification|Justification and preliminary work]] - Why we must start the migration to an UTF-8 environment and how we are going to organise the whole thing.&lt;br /&gt;
&lt;br /&gt;
* [[UTF-8 info gathering|Gathering detailed information]] - How we can obtain detailed information from moodlers around the world and how to use it.&lt;br /&gt;
&lt;br /&gt;
* [[UTF-8 lang files|Moving language files]] - How to do the work with current lang files, new structures and strings, downloads...&lt;br /&gt;
&lt;br /&gt;
* [[UTF-8 DB|Converting the DB]] - The long process of converting all the structures and contents inside Moodle DB to UTF-8.&lt;br /&gt;
&lt;br /&gt;
* [[UTF-8 PostgreSQL|PostgreSQL notes]] - Special notes and howtos for PostgreSQL users.&lt;br /&gt;
&lt;br /&gt;
* [[UTF-8 scripts|Recoding PHP scripts]] - Functionalities and scripts to modify in order to work under UTF-8.&lt;br /&gt;
&lt;br /&gt;
* [[UTF-8 problems|Problems]] - Outline big problems during db migration, and possible solutions.&lt;br /&gt;
&lt;br /&gt;
* [[UTF-8 contrib|contrib]] - A simple outline of what needs to be done to make a module work with the migration.&lt;br /&gt;
[[Category:Developer]]&lt;br /&gt;
[[Category:UTF-8]]&lt;/div&gt;</summary>
		<author><name>Jcrodriguez</name></author>
	</entry>
</feed>