SlideShare a Scribd company logo
MOODLEMOOT AUSTRALIA 2016
MOODLEMOOT AUSTRALIA 2016 - PERTH 27th
- 29th
SEPTEMBER
Presented by David Monllao, Integrator and Senior Analyst
Developer
Add your plugin contents to
global search
MOODLEMOOT AUSTRALIA 2016
● Available from Moodle 3.1 onwards
● What is it?
○ A new Search engine plugin type
■ To store Moodle sites’ contents
○ A new Search API
■ So Moodle components can add stuff to
search engines
○ A UI to search the search engine contents
Global Search
MOODLEMOOT AUSTRALIA 2016
Search areas
It is what Moodle components need to define
to add contents to the search engine.
● Name it: $string[‘search:stuff’] = ‘My plugin - stuff’;
● Define the context level where your plugin works
○ For partially automated control access
MOODLEMOOT AUSTRALIA 2016
Documents
It is each of the “contents” that search areas
index into the search engine
1 document = 1 result = 1 URL
MOODLEMOOT AUSTRALIA 2016
● get_recordset_by_timestamp($modifiedfrom = 0)
○ Retrieve your documents data and return them as a
recordset
● get_document($record, $options = array)
○ Called for each recordset record
○ Map your $record attributes to
core_searchdocument fields
https://docs.moodle.org/dev/Search_API#Index_data
Index data
MOODLEMOOT AUSTRALIA 2016
● Search manager partially automates documents
security checkings
○ Course: Enrolled and visible (or viewhiddencourses)
○ Activities: Visible for the user (cm_info->uservisible)
○ User: The current user
● A query filter is automatically added by the search
manager
https://docs.moodle.org/dev/Search_API#Access_control
Access control
MOODLEMOOT AUSTRALIA 2016
● core_searchbase::check_access
○ Runs once results are returned from the search
engine
○ Restrictions depend on your plugins’ logic
■ e.g. Approved entries
■ Internal tables groupid fields
https://docs.moodle.org/dev/Search_API#Access_control
Access control
MOODLEMOOT AUSTRALIA 2016
● Will index your activities’ name and description
● Abstract class does all the stuff for you
○ https://github.com/moodle/moodle/blob/master/search/classes/b
ase_activity.php (search/classes/area/base_activity.php in 3.1)
https://docs.moodle.org/dev/Search_API#Easy_case:_
Activity_information
Easy case: Add my activity info
MOODLEMOOT AUSTRALIA 2016
● Search result template
○ https://github.com/moodle/moodle/blob/master/search/templates
/result.mustache
● Navigation bar search box
○ https://github.com/moodle/moodle/blob/master/lib/outputrender
ers.php#L3279
Extra stuff to customise
MOODLEMOOT AUSTRALIA 2016
For more information contact:
moodle.com
davidm@moodle.com

More Related Content

Similar to Add your plugin contents to global search

Dolibarr - What's new 3.9 and 4.0 (english)
Dolibarr - What's new 3.9 and 4.0 (english)Dolibarr - What's new 3.9 and 4.0 (english)
Dolibarr - What's new 3.9 and 4.0 (english)
Laurent Destailleur
 
Approaches to higher education course search: TERMINALFOUR t44u 2013
Approaches to higher education course search: TERMINALFOUR t44u 2013Approaches to higher education course search: TERMINALFOUR t44u 2013
Approaches to higher education course search: TERMINALFOUR t44u 2013
Terminalfour
 
Open Innovation Lab (OIL) - 2014 Sep 26th
Open Innovation Lab (OIL) - 2014 Sep 26thOpen Innovation Lab (OIL) - 2014 Sep 26th
Open Innovation Lab (OIL) - 2014 Sep 26th
Wong Hoi Sing Edison
 
How Google Search Works
How Google Search WorksHow Google Search Works
How Google Search Works
malisetti maneesha
 
MsProject 2016 Essentials Course Manual.pdf
MsProject 2016 Essentials Course Manual.pdfMsProject 2016 Essentials Course Manual.pdf
MsProject 2016 Essentials Course Manual.pdf
MarkJayvenLlaneraAbn
 
Intro to Lucidworks Fusion - Esther Quansah & Kord Campbell, Lucidworks
Intro to Lucidworks Fusion - Esther Quansah & Kord Campbell, LucidworksIntro to Lucidworks Fusion - Esther Quansah & Kord Campbell, Lucidworks
Intro to Lucidworks Fusion - Esther Quansah & Kord Campbell, Lucidworks
Lucidworks
 
Basic SharePoint search
Basic SharePoint searchBasic SharePoint search
Basic SharePoint search
Toan Nguyen
 
Building a universal search interface for the Cloud
Building a universal search interface for the CloudBuilding a universal search interface for the Cloud
Building a universal search interface for the Cloud
Vietnam Open Infrastructure User Group
 
Jeff Engle: Taking the Show on the Road
Jeff Engle: Taking the Show on the RoadJeff Engle: Taking the Show on the Road
Jeff Engle: Taking the Show on the Road
Jack Molisani
 
Google Looks Into the Index Now Protocol for Crawling and Indexing
Google Looks Into the Index Now Protocol for Crawling and IndexingGoogle Looks Into the Index Now Protocol for Crawling and Indexing
Google Looks Into the Index Now Protocol for Crawling and Indexing
PaulDonahue16
 
NAO Technical Discovery ITT National Audit Office
NAO Technical Discovery ITT National Audit OfficeNAO Technical Discovery ITT National Audit Office
NAO Technical Discovery ITT National Audit Office
stephenadenaike1
 
2013-10-29 Capabilities of SharePoint
2013-10-29 Capabilities of SharePoint2013-10-29 Capabilities of SharePoint
2013-10-29 Capabilities of SharePoint
Raffa Learning Community
 

Similar to Add your plugin contents to global search (12)

Dolibarr - What's new 3.9 and 4.0 (english)
Dolibarr - What's new 3.9 and 4.0 (english)Dolibarr - What's new 3.9 and 4.0 (english)
Dolibarr - What's new 3.9 and 4.0 (english)
 
Approaches to higher education course search: TERMINALFOUR t44u 2013
Approaches to higher education course search: TERMINALFOUR t44u 2013Approaches to higher education course search: TERMINALFOUR t44u 2013
Approaches to higher education course search: TERMINALFOUR t44u 2013
 
Open Innovation Lab (OIL) - 2014 Sep 26th
Open Innovation Lab (OIL) - 2014 Sep 26thOpen Innovation Lab (OIL) - 2014 Sep 26th
Open Innovation Lab (OIL) - 2014 Sep 26th
 
How Google Search Works
How Google Search WorksHow Google Search Works
How Google Search Works
 
MsProject 2016 Essentials Course Manual.pdf
MsProject 2016 Essentials Course Manual.pdfMsProject 2016 Essentials Course Manual.pdf
MsProject 2016 Essentials Course Manual.pdf
 
Intro to Lucidworks Fusion - Esther Quansah & Kord Campbell, Lucidworks
Intro to Lucidworks Fusion - Esther Quansah & Kord Campbell, LucidworksIntro to Lucidworks Fusion - Esther Quansah & Kord Campbell, Lucidworks
Intro to Lucidworks Fusion - Esther Quansah & Kord Campbell, Lucidworks
 
Basic SharePoint search
Basic SharePoint searchBasic SharePoint search
Basic SharePoint search
 
Building a universal search interface for the Cloud
Building a universal search interface for the CloudBuilding a universal search interface for the Cloud
Building a universal search interface for the Cloud
 
Jeff Engle: Taking the Show on the Road
Jeff Engle: Taking the Show on the RoadJeff Engle: Taking the Show on the Road
Jeff Engle: Taking the Show on the Road
 
Google Looks Into the Index Now Protocol for Crawling and Indexing
Google Looks Into the Index Now Protocol for Crawling and IndexingGoogle Looks Into the Index Now Protocol for Crawling and Indexing
Google Looks Into the Index Now Protocol for Crawling and Indexing
 
NAO Technical Discovery ITT National Audit Office
NAO Technical Discovery ITT National Audit OfficeNAO Technical Discovery ITT National Audit Office
NAO Technical Discovery ITT National Audit Office
 
2013-10-29 Capabilities of SharePoint
2013-10-29 Capabilities of SharePoint2013-10-29 Capabilities of SharePoint
2013-10-29 Capabilities of SharePoint
 

More from David Monllaó

Moodle learning analytics desde diferentes perspectivas (#mootgt19)
Moodle learning analytics desde diferentes perspectivas (#mootgt19)Moodle learning analytics desde diferentes perspectivas (#mootgt19)
Moodle learning analytics desde diferentes perspectivas (#mootgt19)
David Monllaó
 
Moodle learning analytics from different perspectives (#moothr19)
Moodle learning analytics from different perspectives (#moothr19)Moodle learning analytics from different perspectives (#moothr19)
Moodle learning analytics from different perspectives (#moothr19)
David Monllaó
 
Moodle, the de facto learning platform to facilitate research and experimenta...
Moodle, the de facto learning platform to facilitate research and experimenta...Moodle, the de facto learning platform to facilitate research and experimenta...
Moodle, the de facto learning platform to facilitate research and experimenta...
David Monllaó
 
A Supervised Learning Framework for Learning Management Systems
A Supervised Learning Framework for Learning Management SystemsA Supervised Learning Framework for Learning Management Systems
A Supervised Learning Framework for Learning Management Systems
David Monllaó
 
El equipo de integracion de Moodle HQ es tu muy mejor amigo
El equipo de integracion de Moodle HQ es tu muy mejor amigoEl equipo de integracion de Moodle HQ es tu muy mejor amigo
El equipo de integracion de Moodle HQ es tu muy mejor amigo
David Monllaó
 
Automatic classification of students in online courses using machine learning...
Automatic classification of students in online courses using machine learning...Automatic classification of students in online courses using machine learning...
Automatic classification of students in online courses using machine learning...
David Monllaó
 
How to improve your moodle site performance
How to improve your moodle site performanceHow to improve your moodle site performance
How to improve your moodle site performance
David Monllaó
 
Testing Moodle functionality automatically
Testing Moodle functionality automaticallyTesting Moodle functionality automatically
Testing Moodle functionality automatically
David Monllaó
 

More from David Monllaó (8)

Moodle learning analytics desde diferentes perspectivas (#mootgt19)
Moodle learning analytics desde diferentes perspectivas (#mootgt19)Moodle learning analytics desde diferentes perspectivas (#mootgt19)
Moodle learning analytics desde diferentes perspectivas (#mootgt19)
 
Moodle learning analytics from different perspectives (#moothr19)
Moodle learning analytics from different perspectives (#moothr19)Moodle learning analytics from different perspectives (#moothr19)
Moodle learning analytics from different perspectives (#moothr19)
 
Moodle, the de facto learning platform to facilitate research and experimenta...
Moodle, the de facto learning platform to facilitate research and experimenta...Moodle, the de facto learning platform to facilitate research and experimenta...
Moodle, the de facto learning platform to facilitate research and experimenta...
 
A Supervised Learning Framework for Learning Management Systems
A Supervised Learning Framework for Learning Management SystemsA Supervised Learning Framework for Learning Management Systems
A Supervised Learning Framework for Learning Management Systems
 
El equipo de integracion de Moodle HQ es tu muy mejor amigo
El equipo de integracion de Moodle HQ es tu muy mejor amigoEl equipo de integracion de Moodle HQ es tu muy mejor amigo
El equipo de integracion de Moodle HQ es tu muy mejor amigo
 
Automatic classification of students in online courses using machine learning...
Automatic classification of students in online courses using machine learning...Automatic classification of students in online courses using machine learning...
Automatic classification of students in online courses using machine learning...
 
How to improve your moodle site performance
How to improve your moodle site performanceHow to improve your moodle site performance
How to improve your moodle site performance
 
Testing Moodle functionality automatically
Testing Moodle functionality automaticallyTesting Moodle functionality automatically
Testing Moodle functionality automatically
 

Recently uploaded

Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
Sven Peters
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
brainerhub1
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
Quickdice ERP
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
SOCRadar
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
rodomar2
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptxLORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
lorraineandreiamcidl
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
lorraineandreiamcidl
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
kalichargn70th171
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
Shane Coughlan
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
timtebeek1
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
Philip Schwarz
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
Peter Muessig
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
Green Software Development
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
TheSMSPoint
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
Łukasz Chruściel
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
Hornet Dynamics
 
What is Augmented Reality Image Tracking
What is Augmented Reality Image TrackingWhat is Augmented Reality Image Tracking
What is Augmented Reality Image Tracking
pavan998932
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Neo4j
 
Oracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptxOracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptx
Remote DBA Services
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
Green Software Development
 

Recently uploaded (20)

Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptxLORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
 
What is Augmented Reality Image Tracking
What is Augmented Reality Image TrackingWhat is Augmented Reality Image Tracking
What is Augmented Reality Image Tracking
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
 
Oracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptxOracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptx
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
 

Add your plugin contents to global search

  • 1. MOODLEMOOT AUSTRALIA 2016 MOODLEMOOT AUSTRALIA 2016 - PERTH 27th - 29th SEPTEMBER Presented by David Monllao, Integrator and Senior Analyst Developer Add your plugin contents to global search
  • 2. MOODLEMOOT AUSTRALIA 2016 ● Available from Moodle 3.1 onwards ● What is it? ○ A new Search engine plugin type ■ To store Moodle sites’ contents ○ A new Search API ■ So Moodle components can add stuff to search engines ○ A UI to search the search engine contents Global Search
  • 3. MOODLEMOOT AUSTRALIA 2016 Search areas It is what Moodle components need to define to add contents to the search engine. ● Name it: $string[‘search:stuff’] = ‘My plugin - stuff’; ● Define the context level where your plugin works ○ For partially automated control access
  • 4. MOODLEMOOT AUSTRALIA 2016 Documents It is each of the “contents” that search areas index into the search engine 1 document = 1 result = 1 URL
  • 5. MOODLEMOOT AUSTRALIA 2016 ● get_recordset_by_timestamp($modifiedfrom = 0) ○ Retrieve your documents data and return them as a recordset ● get_document($record, $options = array) ○ Called for each recordset record ○ Map your $record attributes to core_searchdocument fields https://docs.moodle.org/dev/Search_API#Index_data Index data
  • 6. MOODLEMOOT AUSTRALIA 2016 ● Search manager partially automates documents security checkings ○ Course: Enrolled and visible (or viewhiddencourses) ○ Activities: Visible for the user (cm_info->uservisible) ○ User: The current user ● A query filter is automatically added by the search manager https://docs.moodle.org/dev/Search_API#Access_control Access control
  • 7. MOODLEMOOT AUSTRALIA 2016 ● core_searchbase::check_access ○ Runs once results are returned from the search engine ○ Restrictions depend on your plugins’ logic ■ e.g. Approved entries ■ Internal tables groupid fields https://docs.moodle.org/dev/Search_API#Access_control Access control
  • 8. MOODLEMOOT AUSTRALIA 2016 ● Will index your activities’ name and description ● Abstract class does all the stuff for you ○ https://github.com/moodle/moodle/blob/master/search/classes/b ase_activity.php (search/classes/area/base_activity.php in 3.1) https://docs.moodle.org/dev/Search_API#Easy_case:_ Activity_information Easy case: Add my activity info
  • 9. MOODLEMOOT AUSTRALIA 2016 ● Search result template ○ https://github.com/moodle/moodle/blob/master/search/templates /result.mustache ● Navigation bar search box ○ https://github.com/moodle/moodle/blob/master/lib/outputrender ers.php#L3279 Extra stuff to customise
  • 10. MOODLEMOOT AUSTRALIA 2016 For more information contact: moodle.com davidm@moodle.com