SlideShare a Scribd company logo
1 of 10
A ‘lies to children’ introduction to how Moodle works http://en.wikipedia.org/wiki/Lie-to-children
UI Libraries DB libs DB User HTTP PHP function calls PHP function calls SQL Moodle Using a web browser Moodle follows a fairly classic three-layer architecture. But it is not strongly enforced. Developers can make a mess if they try. File libs Files moodledata
Core UI Libs  (formslib, commenting, YUI, …) Core libraries  (for handling roles, categories, courses, users, …) DB libs File libs Forum UI Quiz UI … Plugins Moodle core Core UI roles, categories, courses, users, … Forum lib Quiz lib … Core data Forum data Quiz data Plugins implement specific functionality. They slice through all three layers. The use the facilities provided by Moodle core.
Types of plugin ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Users, roles and permissions ,[object Object],[object Object]
Being a Student does let you attempt quizzes Is Paul allowed to attempt Quiz 1? User (Paul) Context (Course PM100) Context (Category OUBS) Context (Site OU VLE) Capability (Attempt quiz) Role (Logged-in) Role (Student) Paul is logged in to the VLE Paul is a student in PM100 Just being logged-in does not let you attempt quizzes So: Paul can do this quiz  Context (Activity Quiz 1)
Users, roles and permissions ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
…  and ,[object Object],[object Object],[object Object],[object Object],but you don’t need to worry about this, it is all standard. Except that you may need to think about how groups relate to the functionality you are specifying.
So, I had better explain groups ,[object Object],[object Object],[object Object],[object Object],[object Object]
Ways to learn more ,[object Object],[object Object],[object Object],[object Object]

More Related Content

What's hot

Java interfaces & abstract classes
Java interfaces & abstract classesJava interfaces & abstract classes
Java interfaces & abstract classesShreyans Pathak
 
Programação Orientada a Objetos (POO) com PHP - Parte 1
Programação Orientada a Objetos (POO) com PHP - Parte 1Programação Orientada a Objetos (POO) com PHP - Parte 1
Programação Orientada a Objetos (POO) com PHP - Parte 1Israel Messias
 
The Odoo JS Framework
The Odoo JS FrameworkThe Odoo JS Framework
The Odoo JS FrameworkOdoo
 
Forms 10g procedimientos y cursores
Forms 10g procedimientos y cursoresForms 10g procedimientos y cursores
Forms 10g procedimientos y cursoresEdwin Romero
 
How to show warning _ error messages in Odoo 16
How to show warning _ error messages in Odoo 16 How to show warning _ error messages in Odoo 16
How to show warning _ error messages in Odoo 16 Celine George
 
Abstraction in java
Abstraction in javaAbstraction in java
Abstraction in javasawarkar17
 
Odoo icon smart buttons
Odoo   icon smart buttonsOdoo   icon smart buttons
Odoo icon smart buttonsTaieb Kristou
 
Java programming - solving problems with software
Java programming - solving problems with softwareJava programming - solving problems with software
Java programming - solving problems with softwareSon Nguyen
 
Object Oriented Programming Concepts using Java
Object Oriented Programming Concepts using JavaObject Oriented Programming Concepts using Java
Object Oriented Programming Concepts using JavaGlenn Guden
 
Java Thread Synchronization
Java Thread SynchronizationJava Thread Synchronization
Java Thread SynchronizationBenj Del Mundo
 
How to Define Many2many Field in Odoo 15
How to Define Many2many Field in Odoo 15How to Define Many2many Field in Odoo 15
How to Define Many2many Field in Odoo 15Celine George
 
Oracle Forms-Canvas types
Oracle Forms-Canvas typesOracle Forms-Canvas types
Oracle Forms-Canvas typesSekhar Byna
 
Programação Orientada a Objeto(POO)
Programação Orientada a Objeto(POO)Programação Orientada a Objeto(POO)
Programação Orientada a Objeto(POO)Carlos Alberto
 
Object Relation Mapping in Odoo 16
Object Relation Mapping in Odoo 16Object Relation Mapping in Odoo 16
Object Relation Mapping in Odoo 16Celine George
 
SQL Tutorial - How To Create, Drop, and Truncate Table
SQL Tutorial - How To Create, Drop, and Truncate TableSQL Tutorial - How To Create, Drop, and Truncate Table
SQL Tutorial - How To Create, Drop, and Truncate Table1keydata
 

What's hot (20)

Introduction to java programming part 1
Introduction to java programming part 1Introduction to java programming part 1
Introduction to java programming part 1
 
Java interfaces & abstract classes
Java interfaces & abstract classesJava interfaces & abstract classes
Java interfaces & abstract classes
 
Programação Orientada a Objetos (POO) com PHP - Parte 1
Programação Orientada a Objetos (POO) com PHP - Parte 1Programação Orientada a Objetos (POO) com PHP - Parte 1
Programação Orientada a Objetos (POO) com PHP - Parte 1
 
The Odoo JS Framework
The Odoo JS FrameworkThe Odoo JS Framework
The Odoo JS Framework
 
Forms 10g procedimientos y cursores
Forms 10g procedimientos y cursoresForms 10g procedimientos y cursores
Forms 10g procedimientos y cursores
 
How to show warning _ error messages in Odoo 16
How to show warning _ error messages in Odoo 16 How to show warning _ error messages in Odoo 16
How to show warning _ error messages in Odoo 16
 
Abstraction in java
Abstraction in javaAbstraction in java
Abstraction in java
 
Sql triggers
Sql triggersSql triggers
Sql triggers
 
Odoo icon smart buttons
Odoo   icon smart buttonsOdoo   icon smart buttons
Odoo icon smart buttons
 
Java programming - solving problems with software
Java programming - solving problems with softwareJava programming - solving problems with software
Java programming - solving problems with software
 
Object Oriented Programming Concepts using Java
Object Oriented Programming Concepts using JavaObject Oriented Programming Concepts using Java
Object Oriented Programming Concepts using Java
 
Java Thread Synchronization
Java Thread SynchronizationJava Thread Synchronization
Java Thread Synchronization
 
How to Define Many2many Field in Odoo 15
How to Define Many2many Field in Odoo 15How to Define Many2many Field in Odoo 15
How to Define Many2many Field in Odoo 15
 
MYSQL.ppt
MYSQL.pptMYSQL.ppt
MYSQL.ppt
 
Oracle Forms-Canvas types
Oracle Forms-Canvas typesOracle Forms-Canvas types
Oracle Forms-Canvas types
 
Programação Orientada a Objeto(POO)
Programação Orientada a Objeto(POO)Programação Orientada a Objeto(POO)
Programação Orientada a Objeto(POO)
 
Object Relation Mapping in Odoo 16
Object Relation Mapping in Odoo 16Object Relation Mapping in Odoo 16
Object Relation Mapping in Odoo 16
 
Introduction to Visual Studio.NET
Introduction to Visual Studio.NETIntroduction to Visual Studio.NET
Introduction to Visual Studio.NET
 
SQL Tutorial - How To Create, Drop, and Truncate Table
SQL Tutorial - How To Create, Drop, and Truncate TableSQL Tutorial - How To Create, Drop, and Truncate Table
SQL Tutorial - How To Create, Drop, and Truncate Table
 
Moodle Tutorials
Moodle TutorialsMoodle Tutorials
Moodle Tutorials
 

Similar to A basic introduction to the Moodle architecture

Oodles of Moodle
Oodles of MoodleOodles of Moodle
Oodles of Moodlestricoff
 
Moodlev3 090407140751 Phpapp02
Moodlev3 090407140751 Phpapp02Moodlev3 090407140751 Phpapp02
Moodlev3 090407140751 Phpapp02Peking
 
M4T - Week5 presentation
M4T - Week5 presentationM4T - Week5 presentation
M4T - Week5 presentationIsabella Nanni
 
Professional Development On Moodle Resources
Professional Development On Moodle ResourcesProfessional Development On Moodle Resources
Professional Development On Moodle ResourcesBlair E
 
Best Practices in Role Management
Best Practices in Role ManagementBest Practices in Role Management
Best Practices in Role ManagementKyle Mackie
 
20 slides presentation
20 slides   presentation20 slides   presentation
20 slides presentationKyle Goslin
 
What is moodle ppt
What is moodle pptWhat is moodle ppt
What is moodle pptTomaz Lasic
 
Moodle: using an open learning management system to support student learning
Moodle: using an open learning management system to support student learningMoodle: using an open learning management system to support student learning
Moodle: using an open learning management system to support student learningKeith Landa
 
Introduction to LMS.pptx
Introduction to LMS.pptxIntroduction to LMS.pptx
Introduction to LMS.pptxTanujModi5
 
Moodle Slide Share
Moodle Slide ShareMoodle Slide Share
Moodle Slide ShareSuresh Kumar
 
20 ideas for moodle daniel mc sweeney + kyle goslin
20 ideas for moodle  daniel mc sweeney + kyle goslin20 ideas for moodle  daniel mc sweeney + kyle goslin
20 ideas for moodle daniel mc sweeney + kyle goslinIreland & UK Moodlemoot 2012
 
ELIS – Managing Enterprise Level Learning Programs with Moodle
ELIS – Managing Enterprise Level Learning Programs with MoodleELIS – Managing Enterprise Level Learning Programs with Moodle
ELIS – Managing Enterprise Level Learning Programs with Moodlemrc12
 
E tool in yoga ,a module for teaching and learning
E  tool in yoga ,a module for teaching and learningE  tool in yoga ,a module for teaching and learning
E tool in yoga ,a module for teaching and learningsatyant khatyian
 
Moodle: a free learning management system
Moodle: a free learning management systemMoodle: a free learning management system
Moodle: a free learning management systemKenneth Ronkowitz
 
Moodle a-free-learning-management-system-23045
Moodle a-free-learning-management-system-23045Moodle a-free-learning-management-system-23045
Moodle a-free-learning-management-system-23045Naniey Yusuf
 
Exercise services for e learning in higher education with
Exercise services for e learning in higher education withExercise services for e learning in higher education with
Exercise services for e learning in higher education withAshish Shende
 

Similar to A basic introduction to the Moodle architecture (20)

Oodles of Moodle
Oodles of MoodleOodles of Moodle
Oodles of Moodle
 
Moodlev3 090407140751 Phpapp02
Moodlev3 090407140751 Phpapp02Moodlev3 090407140751 Phpapp02
Moodlev3 090407140751 Phpapp02
 
M4T - Week5 presentation
M4T - Week5 presentationM4T - Week5 presentation
M4T - Week5 presentation
 
Professional Development On Moodle Resources
Professional Development On Moodle ResourcesProfessional Development On Moodle Resources
Professional Development On Moodle Resources
 
Best Practices in Role Management
Best Practices in Role ManagementBest Practices in Role Management
Best Practices in Role Management
 
20 slides presentation
20 slides   presentation20 slides   presentation
20 slides presentation
 
What is moodle ppt
What is moodle pptWhat is moodle ppt
What is moodle ppt
 
Moodle Features
Moodle FeaturesMoodle Features
Moodle Features
 
Moodle: using an open learning management system to support student learning
Moodle: using an open learning management system to support student learningMoodle: using an open learning management system to support student learning
Moodle: using an open learning management system to support student learning
 
Introduction to LMS.pptx
Introduction to LMS.pptxIntroduction to LMS.pptx
Introduction to LMS.pptx
 
Moodle Slide Share
Moodle Slide ShareMoodle Slide Share
Moodle Slide Share
 
20 ideas for moodle daniel mc sweeney + kyle goslin
20 ideas for moodle  daniel mc sweeney + kyle goslin20 ideas for moodle  daniel mc sweeney + kyle goslin
20 ideas for moodle daniel mc sweeney + kyle goslin
 
ELIS – Managing Enterprise Level Learning Programs with Moodle
ELIS – Managing Enterprise Level Learning Programs with MoodleELIS – Managing Enterprise Level Learning Programs with Moodle
ELIS – Managing Enterprise Level Learning Programs with Moodle
 
Moodle Demo at NJIT
Moodle Demo at NJITMoodle Demo at NJIT
Moodle Demo at NJIT
 
E tool in yoga ,a module for teaching and learning
E  tool in yoga ,a module for teaching and learningE  tool in yoga ,a module for teaching and learning
E tool in yoga ,a module for teaching and learning
 
Moodle for teachers
Moodle for teachersMoodle for teachers
Moodle for teachers
 
Moodle tutotial
Moodle tutotialMoodle tutotial
Moodle tutotial
 
Moodle: a free learning management system
Moodle: a free learning management systemMoodle: a free learning management system
Moodle: a free learning management system
 
Moodle a-free-learning-management-system-23045
Moodle a-free-learning-management-system-23045Moodle a-free-learning-management-system-23045
Moodle a-free-learning-management-system-23045
 
Exercise services for e learning in higher education with
Exercise services for e learning in higher education withExercise services for e learning in higher education with
Exercise services for e learning in higher education with
 

More from Tim Hunt

Writing better Behat tests
Writing better Behat testsWriting better Behat tests
Writing better Behat testsTim Hunt
 
What’s next for the Quiz and Question bank and for Moodle community collabora...
What’s next for the Quiz and Question bank and for Moodle community collabora...What’s next for the Quiz and Question bank and for Moodle community collabora...
What’s next for the Quiz and Question bank and for Moodle community collabora...Tim Hunt
 
Question bank improvements in Moodle 4.0 : A successful community collaboration
Question bank improvements in Moodle 4.0 : A successful community collaborationQuestion bank improvements in Moodle 4.0 : A successful community collaboration
Question bank improvements in Moodle 4.0 : A successful community collaborationTim Hunt
 
Looking after the Open University's Moodle
Looking after the Open University's MoodleLooking after the Open University's Moodle
Looking after the Open University's MoodleTim Hunt
 
Embedding questions anywhere in Moodle
Embedding questions anywhere in MoodleEmbedding questions anywhere in Moodle
Embedding questions anywhere in MoodleTim Hunt
 
Hosting STACK at scale
Hosting STACK at scaleHosting STACK at scale
Hosting STACK at scaleTim Hunt
 
Moodle questions without the quiz
Moodle questions without the quizMoodle questions without the quiz
Moodle questions without the quizTim Hunt
 
2017 UK/IE MoodleMoot: What makes a good moodle quiz? Lessons from the Open U...
2017 UK/IE MoodleMoot: What makes a good moodle quiz? Lessons from the Open U...2017 UK/IE MoodleMoot: What makes a good moodle quiz? Lessons from the Open U...
2017 UK/IE MoodleMoot: What makes a good moodle quiz? Lessons from the Open U...Tim Hunt
 
MUC - Moodle Universal Cache
MUC - Moodle Universal CacheMUC - Moodle Universal Cache
MUC - Moodle Universal CacheTim Hunt
 
I wish I could believe you: the frustrating unreliability of some assessment ...
I wish I could believe you: the frustrating unreliability of some assessment ...I wish I could believe you: the frustrating unreliability of some assessment ...
I wish I could believe you: the frustrating unreliability of some assessment ...Tim Hunt
 
Hosting Moodle at the OU
Hosting Moodle at the OUHosting Moodle at the OU
Hosting Moodle at the OUTim Hunt
 
The Moodle quiz at the Open University
The Moodle quiz at the Open UniversityThe Moodle quiz at the Open University
The Moodle quiz at the Open UniversityTim Hunt
 
The Moodle Quiz at the Open University: how we use it & how that helps students
The Moodle Quiz at the Open University: how we use it & how that helps studentsThe Moodle Quiz at the Open University: how we use it & how that helps students
The Moodle Quiz at the Open University: how we use it & how that helps studentsTim Hunt
 
2012 Computer-Assisted Assessment
2012 Computer-Assisted Assessment2012 Computer-Assisted Assessment
2012 Computer-Assisted AssessmentTim Hunt
 
Moodle’s building blocks for eAssessment tools
Moodle’s building blocks for eAssessment toolsMoodle’s building blocks for eAssessment tools
Moodle’s building blocks for eAssessment toolsTim Hunt
 

More from Tim Hunt (15)

Writing better Behat tests
Writing better Behat testsWriting better Behat tests
Writing better Behat tests
 
What’s next for the Quiz and Question bank and for Moodle community collabora...
What’s next for the Quiz and Question bank and for Moodle community collabora...What’s next for the Quiz and Question bank and for Moodle community collabora...
What’s next for the Quiz and Question bank and for Moodle community collabora...
 
Question bank improvements in Moodle 4.0 : A successful community collaboration
Question bank improvements in Moodle 4.0 : A successful community collaborationQuestion bank improvements in Moodle 4.0 : A successful community collaboration
Question bank improvements in Moodle 4.0 : A successful community collaboration
 
Looking after the Open University's Moodle
Looking after the Open University's MoodleLooking after the Open University's Moodle
Looking after the Open University's Moodle
 
Embedding questions anywhere in Moodle
Embedding questions anywhere in MoodleEmbedding questions anywhere in Moodle
Embedding questions anywhere in Moodle
 
Hosting STACK at scale
Hosting STACK at scaleHosting STACK at scale
Hosting STACK at scale
 
Moodle questions without the quiz
Moodle questions without the quizMoodle questions without the quiz
Moodle questions without the quiz
 
2017 UK/IE MoodleMoot: What makes a good moodle quiz? Lessons from the Open U...
2017 UK/IE MoodleMoot: What makes a good moodle quiz? Lessons from the Open U...2017 UK/IE MoodleMoot: What makes a good moodle quiz? Lessons from the Open U...
2017 UK/IE MoodleMoot: What makes a good moodle quiz? Lessons from the Open U...
 
MUC - Moodle Universal Cache
MUC - Moodle Universal CacheMUC - Moodle Universal Cache
MUC - Moodle Universal Cache
 
I wish I could believe you: the frustrating unreliability of some assessment ...
I wish I could believe you: the frustrating unreliability of some assessment ...I wish I could believe you: the frustrating unreliability of some assessment ...
I wish I could believe you: the frustrating unreliability of some assessment ...
 
Hosting Moodle at the OU
Hosting Moodle at the OUHosting Moodle at the OU
Hosting Moodle at the OU
 
The Moodle quiz at the Open University
The Moodle quiz at the Open UniversityThe Moodle quiz at the Open University
The Moodle quiz at the Open University
 
The Moodle Quiz at the Open University: how we use it & how that helps students
The Moodle Quiz at the Open University: how we use it & how that helps studentsThe Moodle Quiz at the Open University: how we use it & how that helps students
The Moodle Quiz at the Open University: how we use it & how that helps students
 
2012 Computer-Assisted Assessment
2012 Computer-Assisted Assessment2012 Computer-Assisted Assessment
2012 Computer-Assisted Assessment
 
Moodle’s building blocks for eAssessment tools
Moodle’s building blocks for eAssessment toolsMoodle’s building blocks for eAssessment tools
Moodle’s building blocks for eAssessment tools
 

Recently uploaded

GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 

Recently uploaded (20)

GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 

A basic introduction to the Moodle architecture

  • 1. A ‘lies to children’ introduction to how Moodle works http://en.wikipedia.org/wiki/Lie-to-children
  • 2. UI Libraries DB libs DB User HTTP PHP function calls PHP function calls SQL Moodle Using a web browser Moodle follows a fairly classic three-layer architecture. But it is not strongly enforced. Developers can make a mess if they try. File libs Files moodledata
  • 3. Core UI Libs (formslib, commenting, YUI, …) Core libraries (for handling roles, categories, courses, users, …) DB libs File libs Forum UI Quiz UI … Plugins Moodle core Core UI roles, categories, courses, users, … Forum lib Quiz lib … Core data Forum data Quiz data Plugins implement specific functionality. They slice through all three layers. The use the facilities provided by Moodle core.
  • 4.
  • 5.
  • 6. Being a Student does let you attempt quizzes Is Paul allowed to attempt Quiz 1? User (Paul) Context (Course PM100) Context (Category OUBS) Context (Site OU VLE) Capability (Attempt quiz) Role (Logged-in) Role (Student) Paul is logged in to the VLE Paul is a student in PM100 Just being logged-in does not let you attempt quizzes So: Paul can do this quiz  Context (Activity Quiz 1)
  • 7.
  • 8.
  • 9.
  • 10.