Moodle architecture overview?

Moodle architecture overview?

by Michael Hall -
Number of replies: 6
G'day All,

I'm an Australian primary school teacher of 10 years (generalist + ESL), and have also worked for 3 years as a PHP programmer and Linux networking bloke.

I've just discovered Moodle and am excited! I'm particularly interested in its use in primary schools, and hope to eventually contribute to its development.

While I have started reading code to understand Moodle, is there a technical document available anywhere that maps out Moodle's architecture from a coder's point of view? It would just save me time figuring out how everything fits together, which file includes which other files and why, etc etc.


Thanks
Mick


Average of ratings: -
In reply to Michael Hall

Re: Moodle architecture overview?

by Miles Berry -
Hello Mick, and welcome to Moodle!

I've been using Moodle very effectively in a primary aged school for the last year now and would be happy to share some of our experience.

There's an introduction for developers over at http://moodle.org/mod/resource/view.php?id=52
together with coding guidelines at
http://moodle.org/mod/resource/view.php?id=2932
There's also a list of of the core API functions at http://moodle.org/mod/resource/view.php?id=1267

I'm conscious that none of these is quite what you're after - perhaps others can help here - but they may be a good place to start.
In reply to Miles Berry

Re: Moodle architecture overview?

by Siva Prasad -
Hi,
Actualy i want to have clear understanding on the "Architecture of moodle". BUt no where here i found a detailed description on it. So please provide me the required.

Thanks in advance
Siva prasad
In reply to Michael Hall

Re: Moodle architecture overview?

by Mick Thorn -

hi fellow-Mick

I too am using moodle in a primary school - in the UK - how are you getting on with it?

Mick Thorn

In reply to Michael Hall

Re: Moodle architecture overview?

by Martín Langhoff -
Miles has pointed out some key resources on this site, and I wanted to point out that there are a few "modular/pluggable" APIs. Each of those APIs has a subdirectory and there is a README in each of those... try mod, auth and enrol subdirectories for starters. And from lib, check out datalib, setup, moodlelib and weblib.

But you don't need to read through all of that. The code is quite friendly to Just-In-Time reading of the right library wink
In reply to Michael Hall

Re: Moodle architecture overview?

by Dave Kichler -
I found myself asking exactly the same questions when I first discovered Moodle. I have been programming now for less than 5 years and Moodle is one of the largest OOP web based apps I have ever worked with. The resources on the site are alright for giving a general overview but I found they didn't have the depth to give me a solid understanding of how each part of the app works together to create what we see as Moodle. Ohh how I wish such a document existed. I found that the only thing that made things really clear for me was to actually read through the code, which was a task in itself. If you plan on doing something like this, make sure you have a powerful DE or editor that can link you to functions, constants, and objects contained in other files. Otherwise its much too easy to get lost. I found Eclipse (PHPEclipse) to be invaluable for this. There is a doc somewhere on the site that covers how to install the PHP plugin for Eclipse but I don't have time to dig it up