<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://docs.moodle.org/21/en/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Roal</id>
	<title>MoodleDocs - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://docs.moodle.org/21/en/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Roal"/>
	<link rel="alternate" type="text/html" href="https://docs.moodle.org/21/en/Special:Contributions/Roal"/>
	<updated>2026-04-13T18:54:28Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://docs.moodle.org/21/en/index.php?title=Database_presets&amp;diff=36205</id>
		<title>Database presets</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/21/en/index.php?title=Database_presets&amp;diff=36205"/>
		<updated>2008-05-15T18:55:14Z</updated>

		<summary type="html">&lt;p&gt;Roal: /* Importing a preset */ corrected wording&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Databases}}&lt;br /&gt;
To avoid the necessity of always having to create a new database from scratch, the database module has a presets feature (in Moodle 1.7 onwards). An image gallery preset is currently included in the database module to help get you started. You can create your own presets as well and share them with others.&lt;br /&gt;
&lt;br /&gt;
==Importing a preset==&lt;br /&gt;
&lt;br /&gt;
[[Image:Database preset.png|thumb|Database presets page]]&lt;br /&gt;
To use a preset:&lt;br /&gt;
&lt;br /&gt;
# On the database page, click the Presets tab.&lt;br /&gt;
# The usual way to import a preset is clicking the &amp;quot;Choose file&amp;quot; button and browsing to the ZIP file containing the preset (eg. &amp;quot;preset.zip&amp;quot;) stored on the server. If there does not yet exist a preset ZIP file on the server, upload it from your local machine. Choose the desired preset file by clicking on its action &amp;quot;Choose&amp;quot;. Finally, press the &amp;quot;Import&amp;quot; button.&lt;br /&gt;
# Alternatively, you can choose a previously loaded preset.&lt;br /&gt;
# After the import, you can start to add or import entries. All the hard work of setting up the fields and templates has been done for you. If you desire, you can still customize the fields and templates.&lt;br /&gt;
&lt;br /&gt;
{{Moodle 1.9}}In Moodle 1.9.1 onwards, you will see a &amp;quot;Overwrite current settings&amp;quot; checkbox after the &amp;quot;Import&amp;quot; button has been pressed. If checked, the database activity overwrites some of its current general settings by those stored in the preset:&lt;br /&gt;
* the &amp;quot;Introduction&amp;quot; HTML text&lt;br /&gt;
* &amp;quot;Required entries&amp;quot;&lt;br /&gt;
* &amp;quot;Entries required before viewing&amp;quot;&lt;br /&gt;
* &amp;quot;Maximum entries&amp;quot;&lt;br /&gt;
* &amp;quot;Comments&amp;quot;&lt;br /&gt;
* &amp;quot;Require approval?&amp;quot;&lt;br /&gt;
* rssarticles&lt;br /&gt;
&lt;br /&gt;
==Exporting a preset==&lt;br /&gt;
&lt;br /&gt;
If you wish to share your database presets with others, you have two options:&lt;br /&gt;
&lt;br /&gt;
#Export as a ZIP file, which can then be imported to another course or Moodle site.&lt;br /&gt;
#Save as a preset, which publishes the database for other teachers on your site to use. It will then appear in the preset list. (You can delete it from the list at any time.)&lt;br /&gt;
&lt;br /&gt;
Note: Only the fields and templates of the database are copied when exporting or saving it as a preset, not the entries.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
Using Moodle forum discussions:&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=84050 Can&#039;t get columns to line up in list view] including moodle.org presets for download&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=87005 New preset, please review, and make suggestions!] including FAQ preset for download&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=87560 Issue 53: Encyclopedia database preset] including encyclopedia-style preset for download&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=88727 Issue 51 - Design a Database Preset for Document Sharing] including preset for download&lt;br /&gt;
&lt;br /&gt;
[[ja:プリセット]]&lt;/div&gt;</summary>
		<author><name>Roal</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/21/en/index.php?title=Database_presets&amp;diff=36204</id>
		<title>Database presets</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/21/en/index.php?title=Database_presets&amp;diff=36204"/>
		<updated>2008-05-15T18:48:28Z</updated>

		<summary type="html">&lt;p&gt;Roal: /* Importing a preset */ list all overwritable settings&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Databases}}&lt;br /&gt;
To avoid the necessity of always having to create a new database from scratch, the database module has a presets feature (in Moodle 1.7 onwards). An image gallery preset is currently included in the database module to help get you started. You can create your own presets as well and share them with others.&lt;br /&gt;
&lt;br /&gt;
==Importing a preset==&lt;br /&gt;
&lt;br /&gt;
[[Image:Database preset.png|thumb|Database presets page]]&lt;br /&gt;
To use a preset:&lt;br /&gt;
&lt;br /&gt;
# On the database page, click the Presets tab.&lt;br /&gt;
# The usual way to import a preset is clicking the &amp;quot;Choose file&amp;quot; button and browsing to the ZIP file containing the preset (eg. &amp;quot;preset.zip&amp;quot;) stored on the server. If there does not yet exist a preset ZIP file on the server, upload it from your local machine. Choose the desired preset file by clicking on its &amp;quot;Choose file&amp;quot; link. Finally, press the &amp;quot;Import&amp;quot; button.&lt;br /&gt;
# Alternatively, you can choose a previously loaded preset.&lt;br /&gt;
# After the import, you can start to add or import entries. All the hard work of setting up the fields and templates has been done for you. If you desire, you can still customize the fields and templates.&lt;br /&gt;
&lt;br /&gt;
{{Moodle 1.9}}In Moodle 1.9.1 onwards, you will see a &amp;quot;Overwrite current settings&amp;quot; checkbox after the &amp;quot;Import&amp;quot; button has been pressed. If checked, the database activity overwrites some of its current general settings by those stored in the preset:&lt;br /&gt;
* the &amp;quot;Introduction&amp;quot; HTML text&lt;br /&gt;
* &amp;quot;Required entries&amp;quot;&lt;br /&gt;
* &amp;quot;Entries required before viewing&amp;quot;&lt;br /&gt;
* &amp;quot;Maximum entries&amp;quot;&lt;br /&gt;
* &amp;quot;Comments&amp;quot;&lt;br /&gt;
* &amp;quot;Require approval?&amp;quot;&lt;br /&gt;
* rssarticles&lt;br /&gt;
&lt;br /&gt;
==Exporting a preset==&lt;br /&gt;
&lt;br /&gt;
If you wish to share your database presets with others, you have two options:&lt;br /&gt;
&lt;br /&gt;
#Export as a ZIP file, which can then be imported to another course or Moodle site.&lt;br /&gt;
#Save as a preset, which publishes the database for other teachers on your site to use. It will then appear in the preset list. (You can delete it from the list at any time.)&lt;br /&gt;
&lt;br /&gt;
Note: Only the fields and templates of the database are copied when exporting or saving it as a preset, not the entries.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
Using Moodle forum discussions:&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=84050 Can&#039;t get columns to line up in list view] including moodle.org presets for download&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=87005 New preset, please review, and make suggestions!] including FAQ preset for download&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=87560 Issue 53: Encyclopedia database preset] including encyclopedia-style preset for download&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=88727 Issue 51 - Design a Database Preset for Document Sharing] including preset for download&lt;br /&gt;
&lt;br /&gt;
[[ja:プリセット]]&lt;/div&gt;</summary>
		<author><name>Roal</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/21/en/index.php?title=Database_presets&amp;diff=36203</id>
		<title>Database presets</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/21/en/index.php?title=Database_presets&amp;diff=36203"/>
		<updated>2008-05-15T18:32:52Z</updated>

		<summary type="html">&lt;p&gt;Roal: /* Importing a preset */ The preset.zip must be stored on the server and not the client&amp;#039;s machine&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Databases}}&lt;br /&gt;
To avoid the necessity of always having to create a new database from scratch, the database module has a presets feature (in Moodle 1.7 onwards). An image gallery preset is currently included in the database module to help get you started. You can create your own presets as well and share them with others.&lt;br /&gt;
&lt;br /&gt;
==Importing a preset==&lt;br /&gt;
&lt;br /&gt;
[[Image:Database preset.png|thumb|Database presets page]]&lt;br /&gt;
To use a preset:&lt;br /&gt;
&lt;br /&gt;
# On the database page, click the Presets tab.&lt;br /&gt;
# The usual way to import a preset is clicking the &amp;quot;Choose file&amp;quot; button and browsing to the ZIP file containing the preset (eg. &amp;quot;preset.zip&amp;quot;) stored on the server. If there does not yet exist a preset ZIP file on the server, upload it from your local machine. Choose the desired preset file by clicking on its &amp;quot;Choose file&amp;quot; link. Finally, click &amp;quot;Import&amp;quot;.&lt;br /&gt;
# Alternatively, you can choose a previously loaded preset.&lt;br /&gt;
# After the import, you can start to add or import entries. All the hard work of setting up the fields and templates has been done for you. If you desire, you can still customize the fields and templates.&lt;br /&gt;
&lt;br /&gt;
{{Moodle 1.9}}In Moodle 1.9.1 onwards, you are given the option to overwrite current database settings (such as required entries, entries required before viewing, maximum entries, comments etc.) by the preset. Simply click the &amp;quot;Overwrite current settings&amp;quot; checkbox after importing or choosing a previously loaded preset.&lt;br /&gt;
&lt;br /&gt;
==Exporting a preset==&lt;br /&gt;
&lt;br /&gt;
If you wish to share your database presets with others, you have two options:&lt;br /&gt;
&lt;br /&gt;
#Export as a ZIP file, which can then be imported to another course or Moodle site.&lt;br /&gt;
#Save as a preset, which publishes the database for other teachers on your site to use. It will then appear in the preset list. (You can delete it from the list at any time.)&lt;br /&gt;
&lt;br /&gt;
Note: Only the fields and templates of the database are copied when exporting or saving it as a preset, not the entries.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
Using Moodle forum discussions:&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=84050 Can&#039;t get columns to line up in list view] including moodle.org presets for download&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=87005 New preset, please review, and make suggestions!] including FAQ preset for download&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=87560 Issue 53: Encyclopedia database preset] including encyclopedia-style preset for download&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=88727 Issue 51 - Design a Database Preset for Document Sharing] including preset for download&lt;br /&gt;
&lt;br /&gt;
[[ja:プリセット]]&lt;/div&gt;</summary>
		<author><name>Roal</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/21/en/index.php?title=Database_presets&amp;diff=36090</id>
		<title>Database presets</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/21/en/index.php?title=Database_presets&amp;diff=36090"/>
		<updated>2008-05-13T15:22:45Z</updated>

		<summary type="html">&lt;p&gt;Roal: /* Importing a preset */ the &amp;quot;Overwrite current settings&amp;quot; checkbox has been added after the release of 1.9, so I replaced 1.9 by 1.9.1&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Databases}}&lt;br /&gt;
To avoid the necessity of always having to create a new database from scratch, the database module has a presets feature (in Moodle 1.7 onwards). An image gallery preset is currently included in the database module to help get you started. You can create your own presets as well and share them with others.&lt;br /&gt;
&lt;br /&gt;
==Importing a preset==&lt;br /&gt;
[[Image:Database preset.png|thumb|Database presets page]]&lt;br /&gt;
To use a preset:&lt;br /&gt;
&lt;br /&gt;
#On the database page, click the Presets tab.&lt;br /&gt;
#Either click the &amp;quot;Choose file&amp;quot; button, browse for the preset ZIP on your computer and click Import, or choose a previously loaded preset.&lt;br /&gt;
#If you desire, customize the fields and templates.&lt;br /&gt;
&lt;br /&gt;
That’s all there is to using a preset. All the hard work of setting up the templates has been done for you.&lt;br /&gt;
&lt;br /&gt;
{{Moodle 1.9}}In Moodle 1.9.1 onwards, you are given the the option to overwrite current database settings (such as required entries, entries required before viewing, maximum entries, comments etc.) by the preset. Simply click the &amp;quot;Overwrite current settings&amp;quot; checkbox after importing or choosing a previously loaded preset.&lt;br /&gt;
&lt;br /&gt;
==Exporting a preset==&lt;br /&gt;
&lt;br /&gt;
If you wish to share your database presets with others, you have two options:&lt;br /&gt;
&lt;br /&gt;
#Export as a ZIP file, which can then be imported to another course or Moodle site.&lt;br /&gt;
#Save as a preset, which publishes the database for other teachers on your site to use. It will then appear in the preset list. (You can delete it from the list at any time.)&lt;br /&gt;
&lt;br /&gt;
Note: Only the fields and templates of the database are copied when exporting or saving it as a preset, not the entries.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
Using Moodle forum discussions:&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=84050 Can&#039;t get columns to line up in list view] including moodle.org presets for download&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=87005 New preset, please review, and make suggestions!] including FAQ preset for download&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=87560 Issue 53: Encyclopedia database preset] including encyclopedia-style preset for download&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=88727 Issue 51 - Design a Database Preset for Document Sharing] including preset for download&lt;br /&gt;
&lt;br /&gt;
[[ja:プリセット]]&lt;/div&gt;</summary>
		<author><name>Roal</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/21/en/index.php?title=Development:CVS_for_developers&amp;diff=36058</id>
		<title>Development:CVS for developers</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/21/en/index.php?title=Development:CVS_for_developers&amp;diff=36058"/>
		<updated>2008-05-13T09:59:39Z</updated>

		<summary type="html">&lt;p&gt;Roal: /* Feature branches for large changes */ s/17/19/&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;CVS&#039;&#039;&#039; is the Concurrent Versioning System, a commonly-used way of managing source code for large software projects. CVS keeps all versions of all files so that nothing is ever lost, and usage by different people is tracked. It also provides ways to merge code if two or more people are working on the same file. All code and all versions are stored on a central server (in the case of Moodle, at cvs.moodle.org). The [http://cvsbook.red-bean.com/cvsbook.html CVS book] holds more information about CVS than you need.&lt;br /&gt;
&lt;br /&gt;
If you just want to download Moodle using CVS to run a site, then you probably don&#039;t need this page - please see [[CVS for Administrators]] instead.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Joining the project as a developer==&lt;br /&gt;
&lt;br /&gt;
So, you&#039;ve been offered CVS write access to help us develop and maintain Moodle!  Welcome aboard!&lt;br /&gt;
&lt;br /&gt;
To be able to write changes into [http://cvs.moodle.org/ Moodle&#039;s CVS archive], you first need to have an account on the server.  Only trusted developers get these accounts.  To request access, go to the &amp;quot;Apply for CVS Access&amp;quot; tab on the CVS page on Moodle.org (http://moodle.org/cvs).  Tell us what modules you&#039;d like to access (e.g. a language module), and why.  You&#039;ll receive notification in a day or so.&lt;br /&gt;
&lt;br /&gt;
With that done, you should have all the permissions you need, so you just need to set up your machine and download the current source code so you can start working on it. &lt;br /&gt;
&lt;br /&gt;
For the examples on this page, let&#039;s assume your username is &#039;&#039;&#039;myusername&#039;&#039;&#039; and your password is &#039;&#039;&#039;mypassword&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==CVS modules==&lt;br /&gt;
&lt;br /&gt;
Within CVS, the word &amp;quot;modules&amp;quot; refers to separate collections of code. In Moodle we have the following modules within our repository:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;moodle&#039;&#039;&#039; - the main Moodle source code&lt;br /&gt;
* &#039;&#039;&#039;lang&#039;&#039;&#039; - all the language packs&lt;br /&gt;
* &#039;&#039;&#039;[[Development:contrib|contrib]]&#039;&#039;&#039; - user contributions and other assorted code in development&lt;br /&gt;
* &#039;&#039;&#039;mysql&#039;&#039;&#039; - a customised phpMyAdmin to plug into Moodle for database admin&lt;br /&gt;
* &#039;&#039;&#039;windows-cron&#039;&#039;&#039; - a small package that makes cron possible on Windows systems&lt;br /&gt;
* &#039;&#039;&#039;docs&#039;&#039;&#039; - various extra user-contributed documentation&lt;br /&gt;
&lt;br /&gt;
Most people are working on the existing features in the moodle module, but many are also contributing new ideas in the contrib modules. Once code reaches a certain level of maturity in the contrib area, it can be migrated over into the main moodle tree.&lt;br /&gt;
&lt;br /&gt;
==Basic CVS commands==&lt;br /&gt;
&lt;br /&gt;
===CVS on Unix===&lt;br /&gt;
&lt;br /&gt;
Moodle CVS uses ssh as a transport layer for security, so you will have to set a CVS_RSH environment variable in your Unix shell. It&#039;s best to put these commands in your .bashrc or .cshrc so you don&#039;t have to type it all the time:&lt;br /&gt;
        setenv CVS_RSH ssh (for csh, tcsh etc)&lt;br /&gt;
        export CVS_RSH=ssh (for sh, bash etc)&lt;br /&gt;
&lt;br /&gt;
Next, you can check out the latest development version of Moodle using this (all one line). NOTE: Don&#039;t try to do run this first CVS command over an existing moodle installation: start fresh with a new directory!:&lt;br /&gt;
        cvs -z3 -d:ext:myusername@cvs.moodle.org:/cvsroot/moodle co moodle&lt;br /&gt;
&lt;br /&gt;
The command is similar for other CVS modules:&lt;br /&gt;
        cvs -z3 -d:ext:myusername@cvs.moodle.org:/cvsroot/moodle co contrib&lt;br /&gt;
&lt;br /&gt;
If you want to checkout a single plugin (attendance block as an example here) from contrib into the current directory, you can use:&lt;br /&gt;
        cvs -z3 -d:ext:myusername@cvs.moodle.org:/cvsroot/moodle co -d attendance contrib/plugins/blocks/attendance&lt;br /&gt;
&lt;br /&gt;
Note that you will be prompted for mypassword for each command unless you set up authorized keys.  Read [[Development:SSH_key|SSH Keys]] for more details on how to set those up.&lt;br /&gt;
&lt;br /&gt;
Now, you should have a new &#039;moodle&#039; directory. You can rename it and move it around if you like. Go into it:&lt;br /&gt;
        cd moodle&lt;br /&gt;
&lt;br /&gt;
All the latest Moodle files should be in there. You can now change files in your copy. To compare your files and directories against the main CVS copy on the server use cvs diff, e.g.:&lt;br /&gt;
        cvs diff -c config-dist.php&lt;br /&gt;
        cvs diff -c lang&lt;br /&gt;
&lt;br /&gt;
To fetch the latest updates from the server use:&lt;br /&gt;
        cvs update -dP&lt;br /&gt;
&lt;br /&gt;
To copy your new files back to the server you would do something like:&lt;br /&gt;
        cd lang/ca&lt;br /&gt;
        cvs commit&lt;br /&gt;
&lt;br /&gt;
You will be prompted to add some comments (depends on your default text editor).   Please write a meaningful, descriptive comment and &#039;&#039;&#039;always include the name of any tracker issues that talk about the issue you are fixing&#039;&#039;&#039; (eg &#039;&#039;&#039;MDL-XXXX&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
After that your changes will be sent to the CVS server and stored in the repository. Done!&lt;br /&gt;
&lt;br /&gt;
To save more time you can put default arguments into a file called .cvsrc in your home directory. For example, mine contains:&lt;br /&gt;
        diff -c&lt;br /&gt;
        update -dP&lt;br /&gt;
&lt;br /&gt;
Try &#039;cvs help&#039; for more details ...&lt;br /&gt;
&lt;br /&gt;
===CVS on Mac OSX===&lt;br /&gt;
&lt;br /&gt;
You can follow the same instructions as for Unix (above) in a terminal window. However, the cvs command is not installed by default in an OSX. You first need to install the XCode Tools. You should find this on your original installation disk. Failing that it can be downloaded (a fairly hefty download) from the Apple developer web site ([http://developer.apple.com]).&lt;br /&gt;
&lt;br /&gt;
===CVS on Windows===&lt;br /&gt;
&lt;br /&gt;
First, you need to download a completely fresh copy of Moodle using your developer account.&lt;br /&gt;
&lt;br /&gt;
1. Get TortoiseCVS from tortoisecvs.org and install it, then reboot. (Tortoise is not currently supported on vista but [http://www.syntevo.com/smartcvs/index.html SmartCVS] works well).&lt;br /&gt;
&lt;br /&gt;
2. Find or create a new folder somewhere where you want Moodle to be downloaded to.&lt;br /&gt;
&lt;br /&gt;
3. Right-mouse-click that folder and choose &amp;quot;CVS Checkout&amp;quot; from the menu. You should see a dialog box.&lt;br /&gt;
&lt;br /&gt;
4. Copy this text into the CVSROOT field (using your own username!):&lt;br /&gt;
&lt;br /&gt;
           :ext:myusername@cvs.moodle.org:/cvsroot/moodle&lt;br /&gt;
&lt;br /&gt;
5. Under the &amp;quot;Module&amp;quot; field, type &amp;quot;moodle&amp;quot; to get the latest development version of Moodle, &amp;quot;contrib&amp;quot; to get the contributions directory, or &amp;quot;mysql&amp;quot; to get the MySQL Admin module.&lt;br /&gt;
&lt;br /&gt;
6. Press the button: &amp;quot;OK&amp;quot; and everything should be downloaded.&lt;br /&gt;
&lt;br /&gt;
A dialog box should show all the files being downloaded, and after a while you should have a complete copy of Moodle. After this first checkout, you can fetch the latest updated files from the CVS server:&lt;br /&gt;
&lt;br /&gt;
# Right-mouse-click on your Moodle folder (or any file) and select &amp;quot;CVS Update&amp;quot;.&lt;br /&gt;
# Sit back and watch the logs scroll by. Take note of conflicts that may occur if your local code has changes that conflict with the incoming versions - you will need to edit these files and resolve the conflicts manually.&lt;br /&gt;
&lt;br /&gt;
After modifying files (you will notice their icons change from green to red!), you can commit them back to the CVS server like this:&lt;br /&gt;
&lt;br /&gt;
# Right-mouse-click on your Moodle folder (or any file) and select &amp;quot;CVS Commit...&amp;quot;.&lt;br /&gt;
# In the dialog box, type a clear description of the changes you are committing.  &#039;&#039;&#039;Always include the name of any tracker issues related to what you are fixing&#039;&#039;&#039; (eg &#039;&#039;&#039;MDL-XXXX&#039;&#039;&#039;).&lt;br /&gt;
# Click &amp;quot;OK&amp;quot;. Your changes will be sent to the server.&lt;br /&gt;
# If you create a folder, BE CAREFUL about using the &amp;quot;CVS Add&amp;quot; option as it will add the folder to CVS without requiring a commit. Once added, the folder cannot be removed from CVS even though it will be pruned so long as it is empty.&lt;br /&gt;
&lt;br /&gt;
Please note that as of April 15 2008, TortoiseCVS 1.10.6 might not work really well with Windows Vista. You could report bugs to TortoiseCVS site (hosted by SourceForge) or google &amp;quot;TortoiseCVS vista&amp;quot; for more details.&lt;br /&gt;
&lt;br /&gt;
==CVS commit messages==&lt;br /&gt;
&lt;br /&gt;
Every commit you make to CVS should have a commit message containing&lt;br /&gt;
* a tracker issue id like MDL-12345 (if necessary, create an issue before committing, the only exception is for very minor typos.)&lt;br /&gt;
* A brief description of the problem you are fixing. (If you are feeling lazy, you may be able to get away with copying and pasting the issue summary from the tracker.)&lt;br /&gt;
* If it is not immediately obvious, a brief summary of why this change fixes the problem. If a longer description is necessary,  you may also want to add more information to the tracker issue, or Moodle Docs, but the code changes + commit message should provide enough clues to how the fix works on their own.&lt;br /&gt;
&lt;br /&gt;
==Working with branches==&lt;br /&gt;
&lt;br /&gt;
This diagram shows how the main moodle module branches into different versions over time.&lt;br /&gt;
&lt;br /&gt;
[[Image:Cvstree.png|CVS tree]]&lt;br /&gt;
&lt;br /&gt;
To see all the current tags and branches that are available, use this command on any old file (such as index.php in the top moodle directory):&lt;br /&gt;
    cvs status -v index.php&lt;br /&gt;
&lt;br /&gt;
Some tagging guidelines:&lt;br /&gt;
* Tag and branch names should always be all upper-case.&lt;br /&gt;
* Tags and branches should ALWAYS be applied to the entire module (all of Moodle). Don&#039;t tag individual files or directories.&lt;br /&gt;
* We don&#039;t allow renaming of tags because people may be relying on them, so get them right the first time!&lt;br /&gt;
&lt;br /&gt;
===Trunk development===&lt;br /&gt;
&lt;br /&gt;
The Trunk of CVS is the main development version of Moodle. In CVS it is also known as the HEAD, or default branch.&lt;br /&gt;
&lt;br /&gt;
Moodle developers try to keep this stable as possible, but as it usually contains new code it probably has bugs and small instabilities.&lt;br /&gt;
&lt;br /&gt;
Every now and then we decide the product has enough features to make a release. At this time, the trunk is tagged with a MOODLE_XX_BETA tag (in case we ever want to roll back to that point) and a new branch is formed for the release, called MOODLE_XX_STABLE.&lt;br /&gt;
&lt;br /&gt;
A Beta package is also released at this point - it&#039;s for testers who don&#039;t use CVS but want to test the latest features and report bugs.&lt;br /&gt;
&lt;br /&gt;
===Stable branches for each release===&lt;br /&gt;
&lt;br /&gt;
As soon as the stable branch MOODLE_XX_STABLE is created, development efforts will fork into two streams for a while. Some people may continue working on new features in the trunk for the next release, but most developers should be concentrating on using the current STABLE branch and fixing bugs that are found in it.&lt;br /&gt;
&lt;br /&gt;
You can switch your local copy of Moodle to the STABLE version using the following command in Unix from the root directory:&lt;br /&gt;
    cvs update -dP -r MOODLE_XX_STABLE&lt;br /&gt;
&lt;br /&gt;
After that, all the commands described above will apply to that stable version. To return to the trunk version just issue:&lt;br /&gt;
    cvs update -dPA&lt;br /&gt;
&lt;br /&gt;
On Windows clients you should have a menu from which you can choose the branch.&lt;br /&gt;
&lt;br /&gt;
Once the new STABLE branch really stabilises, a release can be declared. Packages are created for distribution and the branch will be tagged (by Martin Dougiamas) with a tag named: MOODLE_XXX&lt;br /&gt;
&lt;br /&gt;
===Merging fixes===&lt;br /&gt;
&lt;br /&gt;
All bug fixes in any STABLE branch should be merged back into the trunk so that they become available in future versions of Moodle. A floating tag called MOODLE_XX_MERGED needs to be maintained to keep track of the last merge. The procedure for such a merge is as follows (I&#039;m using CVS on the Unix command line but the steps are the same for any CVS client):&lt;br /&gt;
&lt;br /&gt;
[[Image:Merging.png|thumb|right|300px|This diagram summarises the process]]&lt;br /&gt;
1. I highly recommend keeping one checked out copy of each stable branch and the trunk/head version locally to make it easier to jump between them.  Set them all up as virtual web sites on your development machine.  I use directories like /moodle/18, /moodle/19 /moodle/dev etc.&lt;br /&gt;
&lt;br /&gt;
2. Update to the latest stable version (I&#039;ll use XX in the example but it could be 18, 19 etc) for the relevant files, and do a cvs diff just to double-check exactly what you are checking in.  Note you only need to update the files/directories you are working in, but sometimes it help to update everything anyway just to do a final check on the functionality using the web.&lt;br /&gt;
&lt;br /&gt;
          cd /moodle/XX/user&lt;br /&gt;
          cvs update -dPA&lt;br /&gt;
          cvs diff -c file1.php file2.php&lt;br /&gt;
&lt;br /&gt;
3. If all looks OK, check in the fix to the stable branch.  Make sure that the commit message contains the bug tracker ID (eg MDL-1111) and a decent description of your thoughts on the fix.  If you don&#039;t specify a message in the command line, you&#039;ll be put into an editor to type one.&lt;br /&gt;
&lt;br /&gt;
          cvs commit -m &amp;quot;MDL-1234 Corrected a small typo in the user name field&amp;quot; file1.php file2.php&lt;br /&gt;
&lt;br /&gt;
4. Go to the very latest trunk version and make sure it&#039;s up-to-date.&lt;br /&gt;
          &lt;br /&gt;
          cd /moodle/dev/user&lt;br /&gt;
          cvs update -dPA&lt;br /&gt;
&lt;br /&gt;
5. Merge everything into your local copy of the trunk from your stable branch since the last merge.  You can use the same sequence of (4) and (5) to merge the changes into other stable branches too (to backport the fix to the previous stable versions).&lt;br /&gt;
&lt;br /&gt;
          cvs update -kk -j MOODLE_XX_MERGED -j MOODLE_XX_STABLE file1.php file2.php&lt;br /&gt;
&lt;br /&gt;
6. Carefully watch the update logs for conflicts, and fix every file that you see with a conflict.  Afterwards, it may help to just run a diff to make sure the result is what you expected:&lt;br /&gt;
&lt;br /&gt;
          cvs diff -c file1.php file2.php&lt;br /&gt;
&lt;br /&gt;
7. Check your merged local copy back into CVS trunk version&lt;br /&gt;
&lt;br /&gt;
          cvs commit -m &amp;quot;MDL-1234 Corrected a small typo in the user name field, merged from XX&amp;quot; file1.php file2.php&lt;br /&gt;
&lt;br /&gt;
8. Go back to your branch version&lt;br /&gt;
&lt;br /&gt;
          cd /moodle/XX/user&lt;br /&gt;
&lt;br /&gt;
9. Update the floating merge tag for the affected files (so that it matches MOODLE_XX_STABLE) so that this process can be repeated next time&lt;br /&gt;
&lt;br /&gt;
          cvs tag -RF MOODLE_XX_MERGED file1.php file2.php&lt;br /&gt;
&lt;br /&gt;
Finally, the values for $version in all the Moodle version.php files within the stable branch should not be updated at all if possible (except the last digit if absolutely necessary). The reason is that someone updating from a very stable version to the next very stable version could miss database upgrades that happened on the trunk.&lt;br /&gt;
&lt;br /&gt;
===Merging fixes with TortoiseCVS===&lt;br /&gt;
Situation: we did a fix on MOODLE_19_STABLE. We modified one file for this fix. This fix needs to be done on Moodle 1.8 and trunk(HEAD). All following CVS instructions will be applied on the file that we changed.&lt;br /&gt;
 &lt;br /&gt;
1. Update to the latest stable versions (HEAD included)&lt;br /&gt;
&lt;br /&gt;
          Right click on the moodle folder&lt;br /&gt;
          CVS update&lt;br /&gt;
          OK&lt;br /&gt;
&lt;br /&gt;
2. On your MOODLE19 branch: commit your fix &lt;br /&gt;
&lt;br /&gt;
          Right Click on the file&lt;br /&gt;
          CVS commit&lt;br /&gt;
          Enter a description: &amp;quot;MDL-XXXX bug fix description&amp;quot;&lt;br /&gt;
          OK&lt;br /&gt;
&lt;br /&gt;
3. On your HEAD repository: merge the changes&lt;br /&gt;
&lt;br /&gt;
          Right Click on the file&lt;br /&gt;
          CVS&amp;gt;&lt;br /&gt;
          Merge...&lt;br /&gt;
          Start: MOODLE_19_MERGED&lt;br /&gt;
          End  : MOODLE_19_STABLE&lt;br /&gt;
          OK&lt;br /&gt;
&lt;br /&gt;
4. If the resulting file have some conflicts, TortoiseCVS displays a red square on the file icon. Edit the file with your text editor and resolve the conflicts.&lt;br /&gt;
&lt;br /&gt;
5. Run a diff to make sure the result is what you expected&lt;br /&gt;
&lt;br /&gt;
          Right Click on the file&lt;br /&gt;
          CVS Diff&lt;br /&gt;
          OK&lt;br /&gt;
&lt;br /&gt;
6. Commit the fix&lt;br /&gt;
&lt;br /&gt;
          Right Click on the file&lt;br /&gt;
          CVS commit&lt;br /&gt;
          Enter a description: &amp;quot;MDL-XXXX bug fix description, merged from 19&amp;quot;&lt;br /&gt;
          OK&lt;br /&gt;
&lt;br /&gt;
We&#039;ve commit MOODLE_19_STABLE and trunk. It&#039;s now time to backport the change on MOODLE_18_STABLE.&lt;br /&gt;
On your MOODLE18 branch: reproduce step 3 to 6.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
7. On your MOODLE19 branch: update the floating merge tag for the affected file&lt;br /&gt;
&lt;br /&gt;
          Right Click on the file&lt;br /&gt;
          CVS&amp;gt;&lt;br /&gt;
          Tag...&lt;br /&gt;
          Tag: MOODLE_19_MERGED&lt;br /&gt;
          Select &#039;Move existing tag&#039;&lt;br /&gt;
          OK&lt;br /&gt;
&lt;br /&gt;
On your MOODLE18 branch: reproduce step 7 (with Tag: MOODLE_18_MERGED).&lt;br /&gt;
&lt;br /&gt;
===Feature branches for large changes===&lt;br /&gt;
&lt;br /&gt;
Occasionally, there may be a very large feature that needs to be checked in so several people can work on it, but it is too unstable to be included in the main development trunk.&lt;br /&gt;
&lt;br /&gt;
In these cases a short-term branch can be created to work on the feature, and then merged back into the main trunk as soon as possible. An example called MOODLE_19_WIDGET branch can be seen in the above diagram.&lt;br /&gt;
&lt;br /&gt;
If you need to do this for your new WIDGET feature, follow these steps:&lt;br /&gt;
&lt;br /&gt;
1. Discuss with other developers to make sure it&#039;s necessary!&lt;br /&gt;
&lt;br /&gt;
2. Make a new tag on the trunk (for all of moodle) called MOODLE_XX_WIDGET_PRE&lt;br /&gt;
&lt;br /&gt;
          cvs tag -R MOODLE_XX_WIDGET_PRE&lt;br /&gt;
&lt;br /&gt;
3. Create your branch called MOODLE_XX_WIDGET&lt;br /&gt;
&lt;br /&gt;
          cvs tag -Rb MOODLE_XX_WIDGET&lt;br /&gt;
&lt;br /&gt;
4. Work in that branch until the feature is reasonably stable. Commit as necessary.&lt;br /&gt;
&lt;br /&gt;
          cvs commit&lt;br /&gt;
&lt;br /&gt;
5. When ready, merge the whole branch into the trunk, fix conflicts, commit it to the trunk and then abandon the branch.&lt;br /&gt;
&lt;br /&gt;
          cvs update -dPA&lt;br /&gt;
          cvs update -kk -j MOODLE_XX_WIDGET&lt;br /&gt;
          cvs commit&lt;br /&gt;
&lt;br /&gt;
Good luck, be careful and have fun!&lt;br /&gt;
&lt;br /&gt;
==Who on earth is ...==&lt;br /&gt;
&lt;br /&gt;
Some of the people committing to the Moodle codebase have non-boring account names on the CVS server. If you are ever looking at a CVS commit, and wondering &amp;quot;who on earth is this purpleblob person?&amp;quot; This information is now available at: [http://moodle.org/mod/cvsadmin/view.php?cid=1 Moodle developers with write access].&lt;br /&gt;
&lt;br /&gt;
==Tips and Hints==&lt;br /&gt;
* [[Tracking Moodle CVS with git]]&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=34472 Merging Custom Moodle Code With Stable Releases]&lt;br /&gt;
* [[Unmerged files]]: To see if you&#039;ve forgotten to merge any file.&lt;br /&gt;
* [http://ximbiot.com/cvs/manual/ CVS Manual]&lt;br /&gt;
* [[Development:contrib|Introduction to the &#039;&#039;&#039;contrib&#039;&#039;&#039; area of CVS]]&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
* [http://tracker.moodle.org/browse/MDLSITE-193 &amp;quot;All developers should switch to using the cvs.moodle.org alias&amp;quot;]&lt;br /&gt;
* [[CVS for Administrators]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer|CVS for developers]]&lt;br /&gt;
[[Category:Developer tools]]&lt;br /&gt;
&lt;br /&gt;
[[es:CVS para desarrolladores]]&lt;br /&gt;
[[fr:CVS pour développeurs]]&lt;/div&gt;</summary>
		<author><name>Roal</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/21/en/index.php?title=Database_fields&amp;diff=35922</id>
		<title>Database fields</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/21/en/index.php?title=Database_fields&amp;diff=35922"/>
		<updated>2008-05-10T09:12:59Z</updated>

		<summary type="html">&lt;p&gt;Roal: wrong info about number format corrected&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Databases}}&lt;br /&gt;
&lt;br /&gt;
A &#039;&#039;&#039;field&#039;&#039;&#039; is a named unit of information. Each entry in a [[Database module|database]] can have multiple fields of multiple types e.g. a text field called &#039;favourite color&#039; which allows you to type in your favourite shade, or a menu called &#039;state&#039; that lets you choose one from a list of the 50 that make up the United States of America. By combining several fields with appropriate names and types you should be able to capture all the relevant information about the items in your database.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Field name and description ==&lt;br /&gt;
&lt;br /&gt;
All fields ask you for a name and a description when you create them. Field names must be unique and they should be short and sensible.&lt;br /&gt;
&lt;br /&gt;
== Field types ==&lt;br /&gt;
&lt;br /&gt;
=== Checkbox ===&lt;br /&gt;
&lt;br /&gt;
Allows one or more checkboxes. Each line in the options box is a different checkbox. The text entered is what will be the case if the checkbox is checked e.g. &#039;valid&#039; for something that can be valid or not. This word will appear beside the checkbox on entry, and then by itself when viewing if the box has been checked. If you wish to ensure that the user actively selects one of the options you can use [[Database_fields#Radio buttons|radio buttons]] instead&lt;br /&gt;
&lt;br /&gt;
Multiple checkboxes could be used, for example, in a movie database that has Horror, Comedy, Western etc. checkboxes for different film genres, and you would be able to check more than one in the case of Horror-Comedies or Comedy-Westerns. The [[Database_fields#Menu (multi-select)|menu (multi-select)]] field also achieves this, but clicking multiple checkboxes is usually a more obvious interface.&lt;br /&gt;
&lt;br /&gt;
=== Date ===&lt;br /&gt;
&lt;br /&gt;
Allows users to enter a date by picking a day, month and year from a drop down list.&lt;br /&gt;
&lt;br /&gt;
=== File ===&lt;br /&gt;
&lt;br /&gt;
Asks users to upload a file from their computer. If it is an image file then the picture field may be a better choice.&lt;br /&gt;
&lt;br /&gt;
=== Menu ===&lt;br /&gt;
&lt;br /&gt;
The text entered in the &#039;&#039;options&#039;&#039; area will be presented as a drop-down list for the user to choose from. Each line become a different option.&lt;br /&gt;
&lt;br /&gt;
=== Menu (Multi-select) ===&lt;br /&gt;
&lt;br /&gt;
The text entered in the &#039;&#039;options&#039;&#039; area will be presented as a list for the user to choose from and each line become a different option. By holding down control or shift as they click, users will be able to select multiple options. This is a fairly advanced computer skill so it may be wise to use multiple checkboxes instead.&lt;br /&gt;
&lt;br /&gt;
=== Number ===&lt;br /&gt;
&lt;br /&gt;
Stores a floating number. Examples: &lt;br /&gt;
* -1000&lt;br /&gt;
* 0&lt;br /&gt;
* 0.123&lt;br /&gt;
&lt;br /&gt;
=== Picture ===&lt;br /&gt;
&lt;br /&gt;
The user can upload an image file from their computer.&lt;br /&gt;
&lt;br /&gt;
=== Radio buttons ===&lt;br /&gt;
&lt;br /&gt;
Allows the user to choose one from a range of options. If the user doesn&#039;t select any of these options then they will be prompted to do so and can only submit the entry when one option is chosen.&lt;br /&gt;
&lt;br /&gt;
If you only have two options and they are opposites (true/false, yes/no) then you could simply use a single checkbox instead. However checkboxes default to their unchecked status and so people could submit without actively selecting one of the options. This may not always be appropriate.&lt;br /&gt;
&lt;br /&gt;
=== Text ===&lt;br /&gt;
&lt;br /&gt;
Users can enter text up to 60 characters in length. For longer text, or for text that requires formatting such as headers and bullet points, you can use a textarea field.&lt;br /&gt;
&lt;br /&gt;
=== Textarea ===&lt;br /&gt;
&lt;br /&gt;
Allows users to enter a long piece of text including formatting similar to that found when creating forum posts.&lt;br /&gt;
Max number of characters in text area = ?&lt;br /&gt;
&lt;br /&gt;
=== URL ===&lt;br /&gt;
&lt;br /&gt;
Ask the user to enter a URL. If you select &#039;&#039;autolink&#039;&#039; then the URL becomes a clickable link. If you also enter a &#039;&#039;forced name for the link&#039;&#039; then that text will be used for the hyperlink. For example in a database of authors you may wish people to enter the author&#039;s website. If you enter the text &#039;homepage&#039; as a forced name then clicking on text &amp;quot;homepage&amp;quot; will take you to the entered URL.&lt;br /&gt;
&lt;br /&gt;
=== Latitude/longitude ===&lt;br /&gt;
&lt;br /&gt;
{{Moodle 1.7}}Users can enter a geographic location, by specifying the location&#039;s latitude and longitude. For example, [http://moodle.com/hq/ Moodle HQ] is at latitude -31.9545, longitude 115.877. When viewing the record, links are automatically generated linking to geographic data services such as [http://earth.google.com Google Earth], [http://www.openstreetmap.org/ OpenStreetMap], [http://www.geabios.com/ GeaBios],[http://www.mapstars.com/extern/deltaworks-holland Mapstars] and more. (The teacher can choose which of those links appear, if any.)&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
*Using Moodle [http://moodle.org/mod/forum/discuss.php?d=86927 Time stamp for database entries?] forum discussion&lt;br /&gt;
&lt;br /&gt;
[[ru:Поля]]&lt;br /&gt;
[[fr:Champs]]&lt;br /&gt;
[[ja:データベースフィールド]]&lt;/div&gt;</summary>
		<author><name>Roal</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/21/en/index.php?title=Database_templates&amp;diff=34914</id>
		<title>Database templates</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/21/en/index.php?title=Database_templates&amp;diff=34914"/>
		<updated>2008-04-17T13:05:57Z</updated>

		<summary type="html">&lt;p&gt;Roal: /* Tag usage */ new ##firstname## and ##lastname## tags&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Databases}}&lt;br /&gt;
Templates for the [[Database module]] allow you to control the visual layout of information when listing, viewing or editing database entries. It is a similar to the technique used to &#039;&#039;mail merge&#039;&#039; letters in word proccessors such as Open Office Writer or Microsoft Word. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Tag usage ==&lt;br /&gt;
&lt;br /&gt;
The content of each [[Database fields|field]] you create for your database and some special tags (listed below) can be inserted into the output template by the use of tags.&lt;br /&gt;
&lt;br /&gt;
Fields have the format &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;[[fieldname]]&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. All other tags have the format &amp;lt;code&amp;gt;##sometag##&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
To use the tags in the box on the left of the page, use the HTML viewer, place your cursor in the text area of your target edit and then click on the tag you want to place. Alternatively, you may simply type the appropriate name within the required symbols like &amp;lt;code&amp;gt;##this##&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;[[this]]&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, respectively.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;##edit##&amp;lt;/code&amp;gt; creates a clickable icon link that allows you to edit the current entry (only appears if you have the rights to do this)&lt;br /&gt;
* &amp;lt;code&amp;gt;##delete##&amp;lt;/code&amp;gt; creates a link that lets you delete the current entry (only appears if you have the rights to do this)&lt;br /&gt;
* &amp;lt;code&amp;gt;##approve##&amp;lt;/code&amp;gt; create a link that lets you approve the current database entry (only appears if you have the rights to do this)&lt;br /&gt;
* &amp;lt;code&amp;gt;##more##&amp;lt;/code&amp;gt; creates a link to the single view, which may contain more detailed info&lt;br /&gt;
* &amp;lt;code&amp;gt;##moreurl##&amp;lt;/code&amp;gt; creates just the URL for the above link, useful for creating your own links. You can click on the link icon and type &amp;lt;code&amp;gt;##moreurl##&amp;lt;/code&amp;gt; into URL field or in source view type &amp;lt;code&amp;gt;&amp;lt;a href=&amp;quot;##moreurl##&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;[[fieldname]]&amp;lt;/nowiki&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;##comments##&amp;lt;/code&amp;gt; creates a link to the view/edit comments page, the link text is the current number of comments (only appears if comments are turned on)&lt;br /&gt;
* &amp;lt;code&amp;gt;##user##&amp;lt;/code&amp;gt; creates a link to the user page of the user who submitted the entry, link text is their name&lt;br /&gt;
&lt;br /&gt;
{{Moodle 1.9}}Moodle 1.9.1 onwards includes the following additional tags:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;##timeadded##&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;##timemodified##&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;##firstname##&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;##lastname##&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== List template ==&lt;br /&gt;
&lt;br /&gt;
This template allows you to control the fields used and their layout when viewing multiple entries at once (e.g. search results). It is possible that this view may simply provide an overview with more detailed information available by clicking on an entry to access the single view of the entry.&lt;br /&gt;
&lt;br /&gt;
The list template can also be used as a way to [[Database export|export your database]] as a CSV file&lt;br /&gt;
&lt;br /&gt;
== Single template ==&lt;br /&gt;
&lt;br /&gt;
[[Image:single template.png|thumb|A single template]]&lt;br /&gt;
This is used to display a single entry at a time and so has more space for display and can use, for example, larger versions of images or optionally provide more information than shown in the list view.&lt;br /&gt;
&lt;br /&gt;
== Advanced search template ==&lt;br /&gt;
&lt;br /&gt;
{{Moodle 1.9}}An advanced search template is included in Moodle 1.9 onwards for creating the interface form used in the advanced search. &lt;br /&gt;
&lt;br /&gt;
== Add template ==&lt;br /&gt;
&lt;br /&gt;
This template creates the interface form used when adding or editing database entries. &lt;br /&gt;
&lt;br /&gt;
== RSS template ==&lt;br /&gt;
&lt;br /&gt;
Lets you control the content of the [[RSS]] feed for database entries.&lt;br /&gt;
&lt;br /&gt;
== CSS template ==&lt;br /&gt;
&lt;br /&gt;
If any of the [[HTML]] in your other templates requires [[CSS]] to provide visual style you can specify it here.&lt;br /&gt;
&lt;br /&gt;
== Javascript template ==&lt;br /&gt;
&lt;br /&gt;
You can use javascript to manipulate the way elements are displayed in either the List, Single or Add templates. Basically you need to enclose the part you want to manipulate in some named html element. The naming is essential as it allows you to identify the element for manipulation. &lt;br /&gt;
&lt;br /&gt;
Lets say, for example, you have a field in your database that stores a persons name and when you display the names in the List View you want to count the times a name matches some criteria and display the result.&lt;br /&gt;
&lt;br /&gt;
Your database will contain a field which we will call &amp;quot;name&amp;quot;. In your List template you will be able to display the contents of that field by using the &amp;lt;nowiki&amp;gt;[[name]]&amp;lt;/nowiki&amp;gt; construct at the place where you want that information displayed. For example in the &#039;&#039;Repeated entry&#039;&#039; on the list template you will have&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 &amp;lt;table&amp;gt;&lt;br /&gt;
   &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;Name: [[name]]&amp;lt;/td&amp;gt;&lt;br /&gt;
   &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;table&amp;gt;  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You now need to modify that entry to ensure that the part you want to manipulate is a named element.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 &amp;lt;table&amp;gt;&lt;br /&gt;
   &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td name=&amp;quot;named&amp;quot;&amp;gt;Name: [[name]]&amp;lt;/td&amp;gt;&lt;br /&gt;
   &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;table&amp;gt;  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The footer of your list view can then contain another named element to display the result.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;div name=&amp;quot;result&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your javascript template can now look as follows&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 var cnt = 0;&lt;br /&gt;
 var re = /foo|Foo/;&lt;br /&gt;
 &lt;br /&gt;
 function init(){&lt;br /&gt;
   var namedElements = document.getElementsByName(&amp;quot;named&amp;quot;);&lt;br /&gt;
   for (i=0; i &amp;lt; namedElements.length; i++) {&lt;br /&gt;
       if(re.test(namedElements[i].innerHTML)) cnt++;&lt;br /&gt;
     }&lt;br /&gt;
   var namedResult = document.getElementsByName(&amp;quot;result&amp;quot;);&lt;br /&gt;
   namedResult[0].innerHTML = cnt;&lt;br /&gt;
   }&lt;br /&gt;
 &lt;br /&gt;
 window.onload = init;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will display a table of names as is usual in the list view. Now at the bottom there will also be the count of the names that matched foo or Foo.&lt;br /&gt;
&lt;br /&gt;
== Reset templates button ==&lt;br /&gt;
&lt;br /&gt;
When you first create a database the templates will be pre-filled with appropriate HTML. If you later add fields then you can press the &#039;&#039;reset templates&#039;&#039; button and it will add HTML for the new fields in a similar fashion. If you have edited any of the templates in the meantime then your changes will be lost. It is recommended that you finalize the database fields before changing the template code.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
*[http://video.google.com/videoplay?docid=7026851446099005477 Video demonstrating tag usage]&lt;br /&gt;
&lt;br /&gt;
Using Moodle forum discussions: &lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=55338 Look of the database module]&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=74243 How can I list database information horizontally instead of vertically?]&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=61179 For those who want the display of Moodle Site&#039;s Modules and plugins]&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=84050 Can&#039;t get columns to line up in list view]&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=86927 Time stamp for database entries?]&lt;br /&gt;
&lt;br /&gt;
[[fr:Modèles]]&lt;br /&gt;
[[ru:Шаблоны]]&lt;br /&gt;
[[ja:データベーステンプレート]]&lt;/div&gt;</summary>
		<author><name>Roal</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/21/en/index.php?title=Database_templates&amp;diff=34883</id>
		<title>Database templates</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/21/en/index.php?title=Database_templates&amp;diff=34883"/>
		<updated>2008-04-16T18:56:36Z</updated>

		<summary type="html">&lt;p&gt;Roal: + Advanced search template&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Databases}}&lt;br /&gt;
Templates for the [[Database module]] allow you to control the visual layout of information when listing, viewing or editing database entries. It is a similar to the technique used to &#039;&#039;mail merge&#039;&#039; letters in word proccessors such as Open Office Writer or Microsoft Word. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Tag usage ==&lt;br /&gt;
&lt;br /&gt;
The content of each [[Database fields|field]] you create for your database and a few special tags (listed below) can be inserted into the output template by the use of tags. To use the tags found on the left side, use the HTML viewer, place your cursor in the text area of your target edit and then click on the tag you want to place. Or simply type the appropriate name within the required symbols like &amp;lt;nowiki&amp;gt;##this## or [[this]]&amp;lt;/nowiki&amp;gt;, respectively.&lt;br /&gt;
&lt;br /&gt;
* ##edit## creates a clickable icon link that allows you to edit the current entry (only appears if you have the rights to do this)&lt;br /&gt;
* ##delete## creates a link that lets you delete the current entry (only appears if you have the rights to do this)&lt;br /&gt;
* ##approve## create a link that lets you approve the current database entry (only appears if you have the rights to do this)&lt;br /&gt;
* ##more## creates a link to the single view, which may contain more detailed info&lt;br /&gt;
* ##moreurl## creates just the URL for the above link, useful for creating your own links. You can click on the link icon and type ##moreurl## into URL field or in source view type: &amp;lt;a href=&amp;quot;##moreurl##&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;[[fieldname]]&amp;lt;/nowiki&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
* ##comments## creates a link to the view/edit comments page, the link text is the current number of comments (only appears if comments are turned on)&lt;br /&gt;
* ##user## creates a link to the user page of the user who submitted the entry, link text is their name&lt;br /&gt;
&lt;br /&gt;
{{Moodle 1.9}}&lt;br /&gt;
Available as of Moodle 1.9.1:&lt;br /&gt;
* ##timeadded##&lt;br /&gt;
* ##timemodified##&lt;br /&gt;
&lt;br /&gt;
== List template ==&lt;br /&gt;
&lt;br /&gt;
This template allows you to control the fields used and their layout when viewing multiple entries at once (e.g. search results). It is possible that this view may simply provide an overview with more detailed information available by clicking on an entry to access the single view of the entry.&lt;br /&gt;
&lt;br /&gt;
The list template can also be used as a way to [[Database export|export your database]] as a CSV file&lt;br /&gt;
&lt;br /&gt;
== Single template ==&lt;br /&gt;
&lt;br /&gt;
[[Image:single template.png|thumb|A single template]]&lt;br /&gt;
This is used to display a single entry at a time and so has more space for display and can use, for example, larger versions of images or optionally provide more information than shown in the list view.&lt;br /&gt;
&lt;br /&gt;
== Advanced search template == {{Moodle 1.9}}&lt;br /&gt;
&lt;br /&gt;
This template creates the interface form used in the advanced search. &lt;br /&gt;
&lt;br /&gt;
== Add template ==&lt;br /&gt;
&lt;br /&gt;
This template creates the interface form used when adding or editing database entries. &lt;br /&gt;
&lt;br /&gt;
== RSS template ==&lt;br /&gt;
&lt;br /&gt;
Lets you control the content of the [[RSS]] feed for database entries.&lt;br /&gt;
&lt;br /&gt;
== CSS template ==&lt;br /&gt;
&lt;br /&gt;
If any of the [[HTML]] in your other templates requires [[CSS]] to provide visual style you can specify it here.&lt;br /&gt;
&lt;br /&gt;
== Javascript template ==&lt;br /&gt;
&lt;br /&gt;
You can use javascript to manipulate the way elements are displayed in either the List, Single or Add templates. Basically you need to enclose the part you want to manipulate in some named html element. The naming is essential as it allows you to identify the element for manipulation. &lt;br /&gt;
&lt;br /&gt;
Lets say, for example, you have a field in your database that stores a persons name and when you display the names in the List View you want to count the times a name matches some criteria and display the result.&lt;br /&gt;
&lt;br /&gt;
Your database will contain a field which we will call &amp;quot;name&amp;quot;. In your List template you will be able to display the contents of that field by using the &amp;lt;nowiki&amp;gt;[[name]]&amp;lt;/nowiki&amp;gt; construct at the place where you want that information displayed. For example in the &#039;&#039;Repeated entry&#039;&#039; on the list template you will have&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 &amp;lt;table&amp;gt;&lt;br /&gt;
   &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;Name: [[name]]&amp;lt;/td&amp;gt;&lt;br /&gt;
   &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;table&amp;gt;  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You now need to modify that entry to ensure that the part you want to manipulate is a named element.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 &amp;lt;table&amp;gt;&lt;br /&gt;
   &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td name=&amp;quot;named&amp;quot;&amp;gt;Name: [[name]]&amp;lt;/td&amp;gt;&lt;br /&gt;
   &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;table&amp;gt;  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The footer of your list view can then contain another named element to display the result.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;div name=&amp;quot;result&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your javascript template can now look as follows&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 var cnt = 0;&lt;br /&gt;
 var re = /foo|Foo/;&lt;br /&gt;
 &lt;br /&gt;
 function init(){&lt;br /&gt;
   var namedElements = document.getElementsByName(&amp;quot;named&amp;quot;);&lt;br /&gt;
   for (i=0; i &amp;lt; namedElements.length; i++) {&lt;br /&gt;
       if(re.test(namedElements[i].innerHTML)) cnt++;&lt;br /&gt;
     }&lt;br /&gt;
   var namedResult = document.getElementsByName(&amp;quot;result&amp;quot;);&lt;br /&gt;
   namedResult[0].innerHTML = cnt;&lt;br /&gt;
   }&lt;br /&gt;
 &lt;br /&gt;
 window.onload = init;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will display a table of names as is usual in the list view. Now at the bottom there will also be the count of the names that matched foo or Foo.&lt;br /&gt;
&lt;br /&gt;
== Reset templates button ==&lt;br /&gt;
&lt;br /&gt;
When you first create a database the templates will be pre-filled with appropriate HTML. If you later add fields then you can press the &#039;&#039;reset templates&#039;&#039; button and it will add HTML for the new fields in a similar fashion. If you have edited any of the templates in the meantime then your changes will be lost. It is recommended that you finalize the database fields before changing the template code.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
*[http://video.google.com/videoplay?docid=7026851446099005477 Video demonstrating tag usage]&lt;br /&gt;
&lt;br /&gt;
Using Moodle forum discussions: &lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=55338 Look of the database module]&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=74243 How can I list database information horizontally instead of vertically?]&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=61179 For those who want the display of Moodle Site&#039;s Modules and plugins]&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=84050 Can&#039;t get columns to line up in list view]&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=86927 Time stamp for database entries?]&lt;br /&gt;
&lt;br /&gt;
[[fr:Modèles]]&lt;br /&gt;
[[ru:Шаблоны]]&lt;br /&gt;
[[ja:データベーステンプレート]]&lt;/div&gt;</summary>
		<author><name>Roal</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/21/en/index.php?title=Database_templates&amp;diff=34882</id>
		<title>Database templates</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/21/en/index.php?title=Database_templates&amp;diff=34882"/>
		<updated>2008-04-16T18:44:15Z</updated>

		<summary type="html">&lt;p&gt;Roal: /* Tag usage */ New tags as of Moodle 1.9.1&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Databases}}&lt;br /&gt;
Templates for the [[Database module]] allow you to control the visual layout of information when listing, viewing or editing database entries. It is a similar to the technique used to &#039;&#039;mail merge&#039;&#039; letters in word proccessors such as Open Office Writer or Microsoft Word. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Tag usage ==&lt;br /&gt;
&lt;br /&gt;
The content of each [[Database fields|field]] you create for your database and a few special tags (listed below) can be inserted into the output template by the use of tags. To use the tags found on the left side, use the HTML viewer, place your cursor in the text area of your target edit and then click on the tag you want to place. Or simply type the appropriate name within the required symbols like &amp;lt;nowiki&amp;gt;##this## or [[this]]&amp;lt;/nowiki&amp;gt;, respectively.&lt;br /&gt;
&lt;br /&gt;
* ##edit## creates a clickable icon link that allows you to edit the current entry (only appears if you have the rights to do this)&lt;br /&gt;
* ##delete## creates a link that lets you delete the current entry (only appears if you have the rights to do this)&lt;br /&gt;
* ##approve## create a link that lets you approve the current database entry (only appears if you have the rights to do this)&lt;br /&gt;
* ##more## creates a link to the single view, which may contain more detailed info&lt;br /&gt;
* ##moreurl## creates just the URL for the above link, useful for creating your own links. You can click on the link icon and type ##moreurl## into URL field or in source view type: &amp;lt;a href=&amp;quot;##moreurl##&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;[[fieldname]]&amp;lt;/nowiki&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
* ##comments## creates a link to the view/edit comments page, the link text is the current number of comments (only appears if comments are turned on)&lt;br /&gt;
* ##user## creates a link to the user page of the user who submitted the entry, link text is their name&lt;br /&gt;
&lt;br /&gt;
{{Moodle 1.9}}&lt;br /&gt;
Available as of Moodle 1.9.1:&lt;br /&gt;
* ##timeadded##&lt;br /&gt;
* ##timemodified##&lt;br /&gt;
&lt;br /&gt;
== List template ==&lt;br /&gt;
&lt;br /&gt;
This template allows you to control the fields used and their layout when viewing multiple entries at once (e.g. search results). It is possible that this view may simply provide an overview with more detailed information available by clicking on an entry to access the single view of the entry.&lt;br /&gt;
&lt;br /&gt;
The list template can also be used as a way to [[Database export|export your database]] as a CSV file&lt;br /&gt;
&lt;br /&gt;
== Single template ==&lt;br /&gt;
[[Image:single template.png|thumb|A single template]]&lt;br /&gt;
This is used to display a single entry at a time and so has more space for display and can use, for example, larger versions of images or optionally provide more information than shown in the list view.&lt;br /&gt;
&lt;br /&gt;
== Add template ==&lt;br /&gt;
&lt;br /&gt;
This template creates the interface form used when adding or editing database entries. Saving a template will overwrite whatever template you have already saved. The ability to create (and import and export) named templates for re-use is planned but not yet functional. Currently you can &lt;br /&gt;
copy and paste your template for reuse elsewhere.&lt;br /&gt;
&lt;br /&gt;
== RSS template ==&lt;br /&gt;
&lt;br /&gt;
Lets you control the content of the [[RSS]] feed for database entries.&lt;br /&gt;
&lt;br /&gt;
== CSS template ==&lt;br /&gt;
&lt;br /&gt;
If any of the [[HTML]] in your other templates requires [[CSS]] to provide visual style you can specify it here.&lt;br /&gt;
&lt;br /&gt;
== Javascript template ==&lt;br /&gt;
&lt;br /&gt;
You can use javascript to manipulate the way elements are displayed in either the List, Single or Add templates. Basically you need to enclose the part you want to manipulate in some named html element. The naming is essential as it allows you to identify the element for manipulation. &lt;br /&gt;
&lt;br /&gt;
Lets say, for example, you have a field in your database that stores a persons name and when you display the names in the List View you want to count the times a name matches some criteria and display the result.&lt;br /&gt;
&lt;br /&gt;
Your database will contain a field which we will call &amp;quot;name&amp;quot;. In your List template you will be able to display the contents of that field by using the &amp;lt;nowiki&amp;gt;[[name]]&amp;lt;/nowiki&amp;gt; construct at the place where you want that information displayed. For example in the &#039;&#039;Repeated entry&#039;&#039; on the list template you will have&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 &amp;lt;table&amp;gt;&lt;br /&gt;
   &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;Name: [[name]]&amp;lt;/td&amp;gt;&lt;br /&gt;
   &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;table&amp;gt;  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You now need to modify that entry to ensure that the part you want to manipulate is a named element.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 &amp;lt;table&amp;gt;&lt;br /&gt;
   &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td name=&amp;quot;named&amp;quot;&amp;gt;Name: [[name]]&amp;lt;/td&amp;gt;&lt;br /&gt;
   &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;table&amp;gt;  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The footer of your list view can then contain another named element to display the result.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;div name=&amp;quot;result&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your javascript template can now look as follows&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 var cnt = 0;&lt;br /&gt;
 var re = /foo|Foo/;&lt;br /&gt;
 &lt;br /&gt;
 function init(){&lt;br /&gt;
   var namedElements = document.getElementsByName(&amp;quot;named&amp;quot;);&lt;br /&gt;
   for (i=0; i &amp;lt; namedElements.length; i++) {&lt;br /&gt;
       if(re.test(namedElements[i].innerHTML)) cnt++;&lt;br /&gt;
     }&lt;br /&gt;
   var namedResult = document.getElementsByName(&amp;quot;result&amp;quot;);&lt;br /&gt;
   namedResult[0].innerHTML = cnt;&lt;br /&gt;
   }&lt;br /&gt;
 &lt;br /&gt;
 window.onload = init;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will display a table of names as is usual in the list view. Now at the bottom there will also be the count of the names that matched foo or Foo.&lt;br /&gt;
&lt;br /&gt;
== Reset templates button ==&lt;br /&gt;
&lt;br /&gt;
When you first create a database the templates will be pre-filled with appropriate HTML. If you later add fields then you can press the &#039;&#039;reset templates&#039;&#039; button and it will add HTML for the new fields in a similar fashion. If you have edited any of the templates in the meantime then your changes will be lost. It is recommended that you finalize the database fields before changing the template code.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
*[http://video.google.com/videoplay?docid=7026851446099005477 Video demonstrating tag usage]&lt;br /&gt;
&lt;br /&gt;
Using Moodle forum discussions: &lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=55338 Look of the database module]&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=74243 How can I list database information horizontally instead of vertically?]&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=61179 For those who want the display of Moodle Site&#039;s Modules and plugins]&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=84050 Can&#039;t get columns to line up in list view]&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=86927 Time stamp for database entries?]&lt;br /&gt;
&lt;br /&gt;
[[fr:Modèles]]&lt;br /&gt;
[[ru:Шаблоны]]&lt;br /&gt;
[[ja:データベーステンプレート]]&lt;/div&gt;</summary>
		<author><name>Roal</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/21/en/index.php?title=Database_templates&amp;diff=34818</id>
		<title>Database templates</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/21/en/index.php?title=Database_templates&amp;diff=34818"/>
		<updated>2008-04-15T00:56:40Z</updated>

		<summary type="html">&lt;p&gt;Roal: /* Tag usage */ all tags lowercased, ##timeadded## and ##timemodified## added&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Databases}}&lt;br /&gt;
Templates for the [[Database module]] allow you to control the visual layout of information when listing, viewing or editing database entries. It is a similar to the technique used to &#039;&#039;mail merge&#039;&#039; letters in word proccessors such as Open Office Writer or Microsoft Word. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Tag usage ==&lt;br /&gt;
&lt;br /&gt;
The content of each [[Database fields|field]] you create for your database and a few special tags (listed below) can be inserted into the output template by the use of tags. To use the tags found on the left side, use the HTML viewer, place your cursor in the text area of your target edit and then click on the tag you want to place. Or simply type the appropriate name within the required symbols like &amp;lt;nowiki&amp;gt;##this## or [[this]]&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* ##edit## creates a clickable icon link that allows you to edit the current entry (only appears if you have the rights to do this)&lt;br /&gt;
* ##delete## creates a link that lets you delete the current entry (only appears if you have the rights to do this)&lt;br /&gt;
* ##approve## create a link that lets you approve the current database entry (only appears if you have the rights to do this)&lt;br /&gt;
* ##more## creates a link to the single view, which may contain more detailed info&lt;br /&gt;
* ##moreurl## creates just the URL for the above link, useful for creating your own links. You can click on the link icon and type ##moreurl## into URL field or in source view type: &amp;lt;a href=&amp;quot;##moreurl##&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;[[fieldname]]&amp;lt;/nowiki&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
* ##comments## creates a link to the view/edit comments page, the link text is the current number of comments (only appears if comments are turned on)&lt;br /&gt;
* ##user## creates a link to the user page of the user who submitted the entry, link text is their name&lt;br /&gt;
&lt;br /&gt;
To be added in Moodle 2.0:&lt;br /&gt;
* ##timeadded##&lt;br /&gt;
* ##timemodified##&lt;br /&gt;
&lt;br /&gt;
== List template ==&lt;br /&gt;
&lt;br /&gt;
This template allows you to control the fields used and their layout when viewing multiple entries at once (e.g. search results). It is possible that this view may simply provide an overview with more detailed information available by clicking on an entry to access the single view of the entry.&lt;br /&gt;
&lt;br /&gt;
The list template can also be used as a way to [[Database export|export your database]] as a CSV file&lt;br /&gt;
&lt;br /&gt;
== Single template ==&lt;br /&gt;
[[Image:single template.png|thumb|A single template]]&lt;br /&gt;
This is used to display a single entry at a time and so has more space for display and can use, for example, larger versions of images or optionally provide more information than shown in the list view.&lt;br /&gt;
&lt;br /&gt;
== Add template ==&lt;br /&gt;
&lt;br /&gt;
This template creates the interface form used when adding or editing database entries. Saving a template will overwrite whatever template you have already saved. The ability to create (and import and export) named templates for re-use is planned but not yet functional. Currently you can &lt;br /&gt;
copy and paste your template for reuse elsewhere.&lt;br /&gt;
&lt;br /&gt;
== RSS template ==&lt;br /&gt;
&lt;br /&gt;
Lets you control the content of the [[RSS]] feed for database entries.&lt;br /&gt;
&lt;br /&gt;
== CSS template ==&lt;br /&gt;
&lt;br /&gt;
If any of the [[HTML]] in your other templates requires [[CSS]] to provide visual style you can specify it here.&lt;br /&gt;
&lt;br /&gt;
== Javascript template ==&lt;br /&gt;
&lt;br /&gt;
You can use javascript to manipulate the way elements are displayed in either the List, Single or Add templates. Basically you need to enclose the part you want to manipulate in some named html element. The naming is essential as it allows you to identify the element for manipulation. &lt;br /&gt;
&lt;br /&gt;
Lets say, for example, you have a field in your database that stores a persons name and when you display the names in the List View you want to count the times a name matches some criteria and display the result.&lt;br /&gt;
&lt;br /&gt;
Your database will contain a field which we will call &amp;quot;name&amp;quot;. In your List template you will be able to display the contents of that field by using the &amp;lt;nowiki&amp;gt;[[name]]&amp;lt;/nowiki&amp;gt; construct at the place where you want that information displayed. For example in the &#039;&#039;Repeated entry&#039;&#039; on the list template you will have&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 &amp;lt;table&amp;gt;&lt;br /&gt;
   &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;Name: [[name]]&amp;lt;/td&amp;gt;&lt;br /&gt;
   &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;table&amp;gt;  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You now need to modify that entry to ensure that the part you want to manipulate is a named element.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 &amp;lt;table&amp;gt;&lt;br /&gt;
   &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td name=&amp;quot;named&amp;quot;&amp;gt;Name: [[name]]&amp;lt;/td&amp;gt;&lt;br /&gt;
   &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;table&amp;gt;  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The footer of your list view can then contain another named element to display the result.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;div name=&amp;quot;result&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your javascript template can now look as follows&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 var cnt = 0;&lt;br /&gt;
 var re = /foo|Foo/;&lt;br /&gt;
 &lt;br /&gt;
 function init(){&lt;br /&gt;
   var namedElements = document.getElementsByName(&amp;quot;named&amp;quot;);&lt;br /&gt;
   for (i=0; i &amp;lt; namedElements.length; i++) {&lt;br /&gt;
       if(re.test(namedElements[i].innerHTML)) cnt++;&lt;br /&gt;
     }&lt;br /&gt;
   var namedResult = document.getElementsByName(&amp;quot;result&amp;quot;);&lt;br /&gt;
   namedResult[0].innerHTML = cnt;&lt;br /&gt;
   }&lt;br /&gt;
 &lt;br /&gt;
 window.onload = init;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will display a table of names as is usual in the list view. Now at the bottom there will also be the count of the names that matched foo or Foo.&lt;br /&gt;
&lt;br /&gt;
== Reset templates button ==&lt;br /&gt;
&lt;br /&gt;
When you first create a database the templates will be pre-filled with appropriate HTML. If you later add fields then you can press the &#039;&#039;reset templates&#039;&#039; button and it will add HTML for the new fields in a similar fashion. If you have edited any of the templates in the meantime then your changes will be lost. It is recommended that you finalize the database fields before changing the template code.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
*[http://video.google.com/videoplay?docid=7026851446099005477 Video demonstrating tag usage]&lt;br /&gt;
&lt;br /&gt;
Using Moodle forum discussions: &lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=55338 Look of the database module]&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=74243 How can I list database information horizontally instead of vertically?]&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=61179 For those who want the display of Moodle Site&#039;s Modules and plugins]&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=84050 Can&#039;t get columns to line up in list view]&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=86927 Time stamp for database entries?]&lt;br /&gt;
&lt;br /&gt;
[[fr:Modèles]]&lt;br /&gt;
[[ru:Шаблоны]]&lt;br /&gt;
[[ja:データベーステンプレート]]&lt;/div&gt;</summary>
		<author><name>Roal</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/21/en/index.php?title=Roadmap&amp;diff=19941</id>
		<title>Roadmap</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/21/en/index.php?title=Roadmap&amp;diff=19941"/>
		<updated>2007-02-03T19:34:58Z</updated>

		<summary type="html">&lt;p&gt;Roal: note about removement of pre-1.7 DB install/upgrade system&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This roadmap collects the best information about upcoming features in Moodle.   It is not 100% certain - features may change according to available funding and developers.&lt;br /&gt;
&lt;br /&gt;
== Version 1.8 - Expected February 2007 ==&lt;br /&gt;
&lt;br /&gt;
* [[Accessibility]] - Moodle.com &lt;br /&gt;
:: Compliance with all major accessibility standards&lt;br /&gt;
* [[Moodle forms library]] - Moodle.com &lt;br /&gt;
:: All forms can now use a single API for defining forms consistently and collecting data safely.&lt;br /&gt;
* [[Multi Authentication]] - Iñaki Arenaza / Jonathan Harker (Catalyst) / Martin Langhoff (Catalyst)&lt;br /&gt;
* [[Development:Customisable user profiles|Customisable User Profiles]] - Pukunui Technology&lt;br /&gt;
::Allow fields to be added to the user profile.&lt;br /&gt;
* [[Moodle Network]] - Catalyst and Moodle.com&lt;br /&gt;
:: Setup peer Moodle installations allowing users to roam across, using comprehensive SSO and transparent remote enrolments. Administrators at the originating Moodle install can see logs of remote activity. You can also run your Moodle in &amp;quot;Hub&amp;quot; mode where any Moodle install can connect and users roam across.&lt;br /&gt;
::[[Web Services API]] for Moodle communications. The Moodle Network code includes an XML-RPC call dispatcher that can expose the whole Moodle API to trusted hosts.&lt;br /&gt;
* Groups refactor - Juliette White / Nick Freear  (OU)&lt;br /&gt;
::Groups code will be reorganised to make it more flexible for the future (see 1.9)&lt;br /&gt;
* [[Authorize.net Payment Gateway]] enrolment plugin &lt;br /&gt;
:: Payment managers can obtain an authorization code over phone from customer&#039;s bank if the credit card of the user cannot be captured on the internet directly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Version 1.9 - Expected May 2007 ==&lt;br /&gt;
&lt;br /&gt;
* [[Development:Grades|Gradebook development]]&lt;br /&gt;
::The gradebook system will be revamped for performance, switching from our older &amp;quot;pull&amp;quot; model to a &amp;quot;push&amp;quot; model where all modules will now publish grades as necessary into a central table.&lt;br /&gt;
* [[Metadata]] - Moodle.com&lt;br /&gt;
::Build on the keywords in 1.6 to provide metadata for all activities and courses, linkable to standard lists of metadata such as State-based learning outcomes and curricula&lt;br /&gt;
* [[Repository API]] - Open University, Moodle.com and Humboldt&lt;br /&gt;
::Abstract all file operations to an API that allows plugins for different external repositories&lt;br /&gt;
* [[Learning Design export]] - Moodle.com and Open University of The Netherlands&lt;br /&gt;
::We plan to have a very simple export for any Moodle course into IMS LD format, as a proof of concept and to help the community start learning about IMS LD.&lt;br /&gt;
* [[Development:Groups_documentation_for_module_developers|New groups]] - Open University&lt;br /&gt;
::Site-wide groups, reusable groups, and assigning activities to groups are the major improvements being developed  &lt;br /&gt;
* Blog commenting &lt;br /&gt;
:: You&#039;ll be able to make comments on blogs!  In time, all comments in Moodle will be merged into the same commenting system.&lt;br /&gt;
* SCORM 2004?&lt;br /&gt;
* Integrate nwiki?&lt;br /&gt;
* Integrate Feedback module?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Version 2.0 - Expected August 2007 ==&lt;br /&gt;
&lt;br /&gt;
* [[IMS Learning Design]] - Moodle.com&lt;br /&gt;
::Support for importing/exporting LD, converting Moodle activities and sequences of activities into a standard format for sharing, and importing standard sequences into Moodle courses&lt;br /&gt;
* [[Conditional activities]] - Moodle.com&lt;br /&gt;
::Allowing dependencies and forced paths through the content&lt;br /&gt;
* [[Community hub]] interfaces - Moodle.com and others&lt;br /&gt;
::Makes it easy for users to find and navigate other systems and external Moodle repositories, leveraging the Moodle Network in various ways.&lt;br /&gt;
* [[Student Information API]]&lt;br /&gt;
::API for integrating external systems for managing student information&lt;br /&gt;
* Old DB install/upgrade system removed&lt;br /&gt;
:: The deprecated system for installing or upgrading database entries used in Moodle &amp;lt; 1.7 will be completely removed, while supporting only the new XML based database scheme introduced in 1.7&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: Moodle 2.0 will require PHP 5.1 as a minimum, because of certain improvements not available in PHP 4.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Version 2.1 ==&lt;br /&gt;
&lt;br /&gt;
* [[Portfolio API]]&lt;br /&gt;
::Interface Moodle activities and repositories to help produce portfolios for internal assessment AND external publication&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer]]&lt;br /&gt;
[[Category:Future]]&lt;br /&gt;
&lt;br /&gt;
[[es:Planificación]]&lt;br /&gt;
[[fr:Planification]]&lt;/div&gt;</summary>
		<author><name>Roal</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/21/en/index.php?title=Development:XMLDB_column_types&amp;diff=19880</id>
		<title>Development:XMLDB column types</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/21/en/index.php?title=Development:XMLDB_column_types&amp;diff=19880"/>
		<updated>2007-02-02T09:45:47Z</updated>

		<summary type="html">&lt;p&gt;Roal: FIELD TYPE &amp;quot;date with time&amp;quot; changed to &amp;quot;datetime&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[XML database schema]] &amp;gt; XMLDB column types&lt;br /&gt;
----&lt;br /&gt;
This page will show, once finished, one compatibility matrix of column types for each of the RDBMS under which Moodle is expected to work.&lt;br /&gt;
&lt;br /&gt;
== The matrix ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table align=&amp;quot;center&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;th&amp;gt;&#039;&#039;&#039;XMLDB Type&#039;&#039;&#039;&amp;lt;/th&amp;gt;&lt;br /&gt;
    &amp;lt;th&amp;gt;&#039;&#039;&#039;MySQL&#039;&#039;&#039;&amp;lt;/th&amp;gt;&lt;br /&gt;
    &amp;lt;th&amp;gt;&#039;&#039;&#039;PostgreSQL&#039;&#039;&#039;&amp;lt;/th&amp;gt;&lt;br /&gt;
    &amp;lt;th&amp;gt;&#039;&#039;&#039;Oracle&#039;&#039;&#039;&amp;lt;/th&amp;gt;&lt;br /&gt;
    &amp;lt;th&amp;gt;&#039;&#039;&#039;MSSQL&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;int&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&lt;br /&gt;
:&#039;&#039;&#039;BIGINT&#039;&#039;&#039; (&amp;gt;9 digits)&lt;br /&gt;
:&#039;&#039;&#039;INT&#039;&#039;&#039; (&amp;gt;6 digits)&lt;br /&gt;
:&#039;&#039;&#039;MEDIUMINT&#039;&#039;&#039; (&amp;gt;4 digits)&lt;br /&gt;
:&#039;&#039;&#039;SMALLINT&#039;&#039;&#039; (&amp;gt;2 digits)&lt;br /&gt;
:&#039;&#039;&#039;TINYINT&#039;&#039;&#039; (&amp;lt;=2 digits)&lt;br /&gt;
    &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&lt;br /&gt;
:&#039;&#039;&#039;BIGINT&#039;&#039;&#039; (&amp;gt;9 digits)&lt;br /&gt;
:&#039;&#039;&#039;INTEGER&#039;&#039;&#039; (&amp;gt;4 digits)&lt;br /&gt;
:&#039;&#039;&#039;SMALLINT&#039;&#039;&#039; (&amp;lt;=4 digits)&lt;br /&gt;
    &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&lt;br /&gt;
:&#039;&#039;&#039;NUMBER&#039;&#039;&#039;&lt;br /&gt;
    &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&lt;br /&gt;
:&#039;&#039;&#039;BIGINT&#039;&#039;&#039; (&amp;gt;9 digits)&lt;br /&gt;
:&#039;&#039;&#039;INTEGER&#039;&#039;&#039; (&amp;gt;4 digits)&lt;br /&gt;
:&#039;&#039;&#039;SMALLINT&#039;&#039;&#039; (&amp;lt;=4 digits)&lt;br /&gt;
    &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&lt;br /&gt;
:&#039;&#039;&#039;NUMERIC&#039;&#039;&#039;&lt;br /&gt;
    &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&lt;br /&gt;
:&#039;&#039;&#039;NUMERIC&#039;&#039;&#039;&lt;br /&gt;
    &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&lt;br /&gt;
:&#039;&#039;&#039;NUMBER&#039;&#039;&#039;&lt;br /&gt;
    &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&lt;br /&gt;
:&#039;&#039;&#039;DECIMAL&#039;&#039;&#039;&lt;br /&gt;
    &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;float&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&lt;br /&gt;
:&#039;&#039;&#039;FLOAT&#039;&#039;&#039; (&amp;lt; 6 dec. positions)&lt;br /&gt;
:&#039;&#039;&#039;DOUBLE&#039;&#039;&#039; (&amp;gt;= 6 dec. positions)&lt;br /&gt;
    &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&lt;br /&gt;
:&#039;&#039;&#039;REAL&#039;&#039;&#039; (&amp;lt; 6 dec. positions)&lt;br /&gt;
:&#039;&#039;&#039;DOUBLE PRECISION&#039;&#039;&#039; (&amp;gt;= 6 dec. positions)&lt;br /&gt;
    &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&lt;br /&gt;
:&#039;&#039;&#039;NUMBER&#039;&#039;&#039;&lt;br /&gt;
    &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&lt;br /&gt;
:&#039;&#039;&#039;REAL&#039;&#039;&#039; (&amp;lt; 6 dec. positions)&lt;br /&gt;
:&#039;&#039;&#039;FLOAT&#039;&#039;&#039; (&amp;gt;= 6 dec. positions)&lt;br /&gt;
    &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;char&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&lt;br /&gt;
:&#039;&#039;&#039;VARCHAR&#039;&#039;&#039;&lt;br /&gt;
    &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&lt;br /&gt;
:&#039;&#039;&#039;VARCHAR&#039;&#039;&#039;&lt;br /&gt;
    &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&lt;br /&gt;
:&#039;&#039;&#039;VARCHAR2&#039;&#039;&#039;&lt;br /&gt;
    &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&lt;br /&gt;
:&#039;&#039;&#039;NVARCHAR&#039;&#039;&#039;&lt;br /&gt;
    &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;text&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&lt;br /&gt;
:&#039;&#039;&#039;LONGTEXT&#039;&#039;&#039;&lt;br /&gt;
:&#039;&#039;&#039;MEDIUMTEXT&#039;&#039;&#039;&lt;br /&gt;
:&#039;&#039;&#039;TEXT&#039;&#039;&#039;&lt;br /&gt;
    &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&lt;br /&gt;
:&#039;&#039;&#039;TEXT&#039;&#039;&#039;&lt;br /&gt;
    &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&lt;br /&gt;
:&#039;&#039;&#039;CLOB&#039;&#039;&#039;&lt;br /&gt;
    &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&lt;br /&gt;
:&#039;&#039;&#039;NTEXT&#039;&#039;&#039;&lt;br /&gt;
    &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;binary&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&lt;br /&gt;
:&#039;&#039;&#039;LONGBLOB&#039;&#039;&#039;&lt;br /&gt;
:&#039;&#039;&#039;MEDIUMBLOB&#039;&#039;&#039;&lt;br /&gt;
:&#039;&#039;&#039;BLOB&#039;&#039;&#039;&lt;br /&gt;
    &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&lt;br /&gt;
:&#039;&#039;&#039;BYTEA&#039;&#039;&#039;&lt;br /&gt;
    &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&lt;br /&gt;
:&#039;&#039;&#039;BLOB&#039;&#039;&#039;&lt;br /&gt;
    &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&lt;br /&gt;
:&#039;&#039;&#039;IMAGE&#039;&#039;&#039;&lt;br /&gt;
    &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;datetime&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&lt;br /&gt;
:&#039;&#039;&#039;DATETIME&#039;&#039;&#039;&lt;br /&gt;
    &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&lt;br /&gt;
:&#039;&#039;&#039;TIMESTAMP&#039;&#039;&#039;&lt;br /&gt;
    &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&lt;br /&gt;
:&#039;&#039;&#039;DATE&#039;&#039;&#039;&lt;br /&gt;
    &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&lt;br /&gt;
:&#039;&#039;&#039;DATETIME&#039;&#039;&#039;&lt;br /&gt;
    &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Some official links ==&lt;br /&gt;
&lt;br /&gt;
* MySQL: http://dev.mysql.com/doc/refman/5.0/en/data-types.html&lt;br /&gt;
* PostgreSQL: http://www.postgresql.org/docs/7.4/static/datatype.html&lt;br /&gt;
* SQL*Server: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/tsqlref/ts_da-db_7msw.asp&lt;br /&gt;
* Oracle: http://www.cs.umbc.edu/help/oracle8/server.815/a68003/01_04blt.htm&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer]]&lt;br /&gt;
[[Category:XMLDB]]&lt;/div&gt;</summary>
		<author><name>Roal</name></author>
	</entry>
</feed>