Moodle documentation: Moodle process documentation

Moodle documentation: Moodle process documentation

by .. .. -
Number of replies: 3

Hi,

Do you know where we can get information on the method and reasons for storing the data within Moodle table? It seems that the Moodle system does not necessarily follow all Relational Database conventions and rules.

What I'd like to see is documentation explaining the process and paths the data takes from the front-end capture screens to the database tables e.g. the Enrolment Process.

Thanks.

Average of ratings: -
In reply to .. ..

Re: Moodle documentation: Moodle process documentation

by Frank Ralf -
Hi Che,

Database FAQ should give you some pointers regarding the database structure of Moodle.

hth
Frank
Average of ratings: Useful (1)
In reply to .. ..

Re: Moodle documentation: Moodle process documentation

by Tim Hunt -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
The simple answer is that when the Moodle project started, it the database that was available was MySQL 3.x. (Of course, some people was hesitate to call that a relational database.) Since then, some things have been improved, but the key outstanding issue is that Moodle does not use foreign key constraints.

(However, if you look at the database definitions, which are stored in a database neutral way in in files called install.xml in each plugin, you will see that foreign key relations are defined there.)

My view is that we should make the effort to deal with this some time. That is, create all the foreign keys, and then fix all the error messages we get as a result. However, I am still in a minority there. (Search for other threads about foreign keys to see the past discussions.)


There are also some weird relations in some of the older tables, like the links between couse, course_modules, course_sections, etc. Again this is historical, and probably too painful to change now.


I can't acutally help you with the code flow for enrolment plugins. However, you need to note that by default, the serach on Moodle Docs does not include the developer documentation. See the note at the top of Development:Developer_documentation. Also, some of the links there may help, for example Development:Enrolment_plugins and Development:Coding#Database. If all else fails, you will have to read the code.
Average of ratings: Useful (2)
In reply to Tim Hunt

Re: Moodle documentation: Moodle process documentation

by .. .. -

Thanks for the feedback...I'm doing this research on behalf a of a db guru and will pass it on.

Cheers.