- Moodle 1.9 Extension Development
- Jonathan Moore Michael Churchward
- 371字
- 2021-08-06 17:24:03
Chapter 1. Moodle Architecture
Moodle is an open source Learning Management System (LMS). It can be used to deliver online learning in a variety of settings. These settings include virtual schools, K12, higher education, corporate universities, charter schools, and commercial training, to name but a few. Moodle is designed to be used primarily as an asynchronous learning tool, where learners study at different times. However, it also includes synchronous tools. Moodle is used both as the primary delivery vehicle for courses as well as a supplemental tool for face-to-face learning. To put it simply, Moodle is a teacher's toolkit to help improve learning. Moodle is designed in a community with teachers interacting directly with programmers. Moodle's intuitive and simple interface is the result of this collaboration.
Moodle originally stood for Modular Object-Oriented Dynamic Learning Environment. From a programmer's perspective, the "M" in Moodle is a very important concept. Modularity is designed throughout Moodle. This lets a developer make significant modifications to Moodle without having to modify its code. This is a very important capability in terms of reducing the amount of time taken to make modifications when new versions of Moodle are released. Writing modular plugins for Moodle will be a large focus of this book.
You can learn more about general Moodle functionality and history on the Moodle Documentation site at http://docs.moodle.org/en/About_Moodle.
This chapter introduces some of the important concepts of Moodle architecture; how Moodle is structured and how Moodle works. This chapter introduces the following concepts:
- Components of the system (operating system, web server, PHP interpreter, database, and browser)
- Directory and system structure (Moodle code, database, and file storage)
- Installation (how to install, what happens during installation, and how to upgrade)
- Program execution (the major calling structure, included libraries, execution paths, and separation of function/display/data)
- Configuration (from the interface, from the
config
file, and from the database) - Application Programming Interface (a brief description of what the major libraries do)
- Other common libraries (PEAR, ADOdb, YUI, and XMLDB)
- Access control for users, courses, and other security objects
As you can see from the list, we will be covering a lot of ground in this chapter. Let's get started with a discussion of the technology stack that drives Moodle.
- VR、AR與MR項目開發實戰
- Midjourney AI繪畫藝術創作教程:關鍵詞設置、藝術家與風格應用175例
- Moldflow模流分析與工程應用
- PPT設計實用教程
- Google Web Toolkit 2 Application Development Cookbook
- 中文版Photoshop CS6平面設計實用教程(第2版)
- CakePHP 1.3 Application Development Cookbook
- SketchUp/Piranesi印象彩繪表現項目實踐
- Creo 4.0從入門到精通
- 短視頻剪輯基礎與實戰應用(剪映電腦版)
- 7小時精通剪映:短視頻剪輯/調色/特效/字幕(手機版+電腦版)
- Photoshop CS6數碼照片處理入門到精通
- 電腦寫作與定制五筆(第2版)
- 數碼攝影修圖師完全手冊(第2卷)
- Photoshop-CorelDRAW 基礎培訓教程