XMLDB is Moodle's database abstraction layer -- it is the library of code that lets Moodle interact with and access the database.
In this page you will find links to all the XMLDB-related documentation.
- Introduction: Where the general idea of XMLDB is explained.
- Roadmap: An overall view of the process of implementing the XMLDB subsystem, with details for each point of the process.
- Problems: A comprehensive list of issues that need to be determined/solved prior to incorporate them into the roadmap.
- Installing MSSQL for PHP: One short manual about the steps needed to successfully add MSSQL support to PHP.
- Installing Oracle for PHP: One short manual about the steps needed to successfully add Oracle support to PHP.
- Installing Moodle: The guide to install Moodle (once you have the AMP platform working on your server).
- DDL functions: One list of the new XMLDB Data Definition functions and their usage.
- DML functions: One list of the available Data Manipulation functions and their usage.
- XMLDB Usage: Explanation about the XML schema basis, the XML editor embedded within Moodle, its naming conventions and one simple but illustrative example.
- Installing and upgrading plugin database tables
- Coding guidelines: The main coding guidelines and, more exactly, the database structures section that you must follow carefully in order to produce good cross-db code.
- Database schema: Moodle database diagrams in DBDesigner4 format.
Bugs and new features
- XMLDB known bugs
- XMLDB pending improvements and features
- Developers forum: For general development discussions.
Database engine documentation
Here are convenient links to the reference documentation of the various database engines we support, should you need to check that something is supported by all of them:
- DB column types - Some links about column types inside every RDBMS and their characteristics.
- DB key and index naming - Some info about automatic naming of keys/indexes and other objects.
- DB reserved words - A collection of reserver words inside each RDBMS.