SlideShare une entreprise Scribd logo
1  sur  15
Alex Büchner
                         @mcbuchner




Multi-Tenancy Support
in Moodle 2.x
Moodle
           1


Moodle             Moodle
  …                  2


         Central

Moodle             Moodle
  5                  3


         Moodle
           4
Multi-tenancy in Moodle 2.3


                 Tenant
docs.moodle.org/dev/Multitenant_support
                  MDL-28946
 August 2011
  “It should be possible to implement this in 2.2dev…”

 January 2012
  “This is obviously much much longer and more
  complex than originally envisaged”

 March 2012
  “Multi-tenancy has been dropped in 2.3.
   It turned out to be more trouble than it was worth…”
Central Instance

                    Settings
 User Management                  Themes
                    Modules
Course Management                 Reports
                     Code


              Local Instance(s)
User & Course Management

 How is user information stored?
  LDAP / MS-AD / database / external system

 Are user names unique?

 Will courses be managed centrally, locally or both?

 Who is allowed to “see” what?
User & Role Web Services
Settings
 Global vs. local admin settings
   “Freeze” values in in config.php
   E.g. $CFG->loginhttps=false;

 Flavours
Modules & Code

 Are all instances code-identical?

 Changes to the central core code?

 Changes to the local core code?

 Do all instances require a separate URL?
Centralised code

 Web server configuration
   Separate vhost for each Moodle instance
   DocumentRoot identical for all entries

 Moodle setup (config.php)
 <?php // Moodle configuration file
 $moodle_host = $_SERVER['HTTP_HOST'];
 require_once(„/etc/moodles/‟.$moodle_host.‟_config.php‟);



 Individual config.php‟s in /etc/moodles
    $CFG->dirroot same as DocumentRoot
Distributed code




                              Central                  Local


git fetch
/usr/bin/php admin/cli/maintenance.php --enable
git merge origin/cvshead
/usr/bin/php admin/cli/upgrade.php --non-interactive
/usr/bin/php admin/cli/maintenance.php --disable
Other aspects
 Themes (central / local)
 Reporting (central/ local)
 Backups
 Cohorts?
 Import of existing instances?
 Support!

Resources
http://docs.moodle.org/dev/Multitenant_support
http://tracker.moodle.org/browse/MDL-28946
http://docs.moodle.org/dev/Web_services_Roadmap
http://docs.moodle.org/dev/Moodle_flavours
http://docs.moodle.org/22/en/Git_for_Administrators
http://docs.moodle.org/22/en/Cohorts
Checklist
Criteria             Options                         Impact
User Management      central / local                 External Management (LDAP / Web Services)
Usernames unique     yes / no                        Separate instances required
Visibility           open / closed                   Separate instances required
Course management central / local                    Separate system required
Admin settings       central / local / hybrid        Control
Modules              1:n / n:n                       GIT
Code modifications   central / local / no            GIT
URL                  central / sub-domain / separate Web server configuration
Themes               For each tenant / one-for-all   Separate instances required
Reporting            local / across sites            Separate report generator
…                    …                               …
Alex Büchner
Twitter: @mcbuchner




Thank you
www.synergy-learning.com

Contenu connexe

Similaire à Moodlemoot dublin 2012 multitenancy

git-and-bitbucket
git-and-bitbucketgit-and-bitbucket
git-and-bitbucket
azwildcat
 

Similaire à Moodlemoot dublin 2012 multitenancy (20)

Introduction to KubeDirector - SF Kubernetes Meetup
Introduction to KubeDirector - SF Kubernetes MeetupIntroduction to KubeDirector - SF Kubernetes Meetup
Introduction to KubeDirector - SF Kubernetes Meetup
 
Mongo performance tuning: tips and tricks
Mongo performance tuning: tips and tricksMongo performance tuning: tips and tricks
Mongo performance tuning: tips and tricks
 
Linux Device Driver v3 [Chapter 2]
Linux Device Driver v3 [Chapter 2]Linux Device Driver v3 [Chapter 2]
Linux Device Driver v3 [Chapter 2]
 
git-and-bitbucket
git-and-bitbucketgit-and-bitbucket
git-and-bitbucket
 
Drupal campghent - introduction to domain module
Drupal campghent - introduction to domain moduleDrupal campghent - introduction to domain module
Drupal campghent - introduction to domain module
 
Magento mega menu extension
Magento mega menu extensionMagento mega menu extension
Magento mega menu extension
 
AdminKit
AdminKitAdminKit
AdminKit
 
Puppet for Developers
Puppet for DevelopersPuppet for Developers
Puppet for Developers
 
Migro - Юрий Богомолов
Migro - Юрий БогомоловMigro - Юрий Богомолов
Migro - Юрий Богомолов
 
The beautyandthebeast phpbat2010
The beautyandthebeast phpbat2010The beautyandthebeast phpbat2010
The beautyandthebeast phpbat2010
 
Federated Kubernetes: As a Platform for Distributed Scientific Computing
Federated Kubernetes: As a Platform for Distributed Scientific ComputingFederated Kubernetes: As a Platform for Distributed Scientific Computing
Federated Kubernetes: As a Platform for Distributed Scientific Computing
 
Dot netnuke
Dot netnukeDot netnuke
Dot netnuke
 
Deployer - Deployment tool for PHP
Deployer - Deployment tool for PHPDeployer - Deployment tool for PHP
Deployer - Deployment tool for PHP
 
Integration Testing with Behat drupal
Integration Testing with Behat drupalIntegration Testing with Behat drupal
Integration Testing with Behat drupal
 
Meet Magento Spain 2019 - Our Experience with Magento Cloud
Meet Magento Spain 2019 - Our Experience with Magento CloudMeet Magento Spain 2019 - Our Experience with Magento Cloud
Meet Magento Spain 2019 - Our Experience with Magento Cloud
 
Tech Ed Africa Demystifying Backup Restore In Share Point 2007
Tech Ed Africa Demystifying Backup Restore In Share Point 2007Tech Ed Africa Demystifying Backup Restore In Share Point 2007
Tech Ed Africa Demystifying Backup Restore In Share Point 2007
 
Techedafricademystifyingbackuprestoreinsharepoint2007 090805103250 Phpapp02
Techedafricademystifyingbackuprestoreinsharepoint2007 090805103250 Phpapp02Techedafricademystifyingbackuprestoreinsharepoint2007 090805103250 Phpapp02
Techedafricademystifyingbackuprestoreinsharepoint2007 090805103250 Phpapp02
 
06 dm2 e_pisa-wp2-no-anim
06 dm2 e_pisa-wp2-no-anim06 dm2 e_pisa-wp2-no-anim
06 dm2 e_pisa-wp2-no-anim
 
AD ChildDomains.ppt
AD ChildDomains.pptAD ChildDomains.ppt
AD ChildDomains.ppt
 
The Beauty and the Beast
The Beauty and the BeastThe Beauty and the Beast
The Beauty and the Beast
 

Dernier

Dernier (20)

Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
 
Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024
 
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
 
Top 10 CodeIgniter Development Companies
Top 10 CodeIgniter Development CompaniesTop 10 CodeIgniter Development Companies
Top 10 CodeIgniter Development Companies
 
Intro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераIntro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджера
 
Using IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & IrelandUsing IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & Ireland
 
Google I/O Extended 2024 Warsaw
Google I/O Extended 2024 WarsawGoogle I/O Extended 2024 Warsaw
Google I/O Extended 2024 Warsaw
 
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on ThanabotsContinuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
 
TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024
 
Generative AI Use Cases and Applications.pdf
Generative AI Use Cases and Applications.pdfGenerative AI Use Cases and Applications.pdf
Generative AI Use Cases and Applications.pdf
 
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfIntroduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
 
Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024
 
How we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdfHow we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdf
 
State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!
 
Working together SRE & Platform Engineering
Working together SRE & Platform EngineeringWorking together SRE & Platform Engineering
Working together SRE & Platform Engineering
 
AI mind or machine power point presentation
AI mind or machine power point presentationAI mind or machine power point presentation
AI mind or machine power point presentation
 
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdfLinux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
 
WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024
 
ADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptxADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptx
 
Event-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream ProcessingEvent-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream Processing
 

Moodlemoot dublin 2012 multitenancy

  • 1. Alex Büchner @mcbuchner Multi-Tenancy Support in Moodle 2.x
  • 2. Moodle 1 Moodle Moodle … 2 Central Moodle Moodle 5 3 Moodle 4
  • 4. docs.moodle.org/dev/Multitenant_support MDL-28946  August 2011 “It should be possible to implement this in 2.2dev…”  January 2012 “This is obviously much much longer and more complex than originally envisaged”  March 2012 “Multi-tenancy has been dropped in 2.3. It turned out to be more trouble than it was worth…”
  • 5. Central Instance Settings User Management Themes Modules Course Management Reports Code Local Instance(s)
  • 6.
  • 7. User & Course Management  How is user information stored? LDAP / MS-AD / database / external system  Are user names unique?  Will courses be managed centrally, locally or both?  Who is allowed to “see” what?
  • 8. User & Role Web Services
  • 9. Settings  Global vs. local admin settings  “Freeze” values in in config.php  E.g. $CFG->loginhttps=false;  Flavours
  • 10. Modules & Code  Are all instances code-identical?  Changes to the central core code?  Changes to the local core code?  Do all instances require a separate URL?
  • 11. Centralised code  Web server configuration  Separate vhost for each Moodle instance  DocumentRoot identical for all entries  Moodle setup (config.php) <?php // Moodle configuration file $moodle_host = $_SERVER['HTTP_HOST']; require_once(„/etc/moodles/‟.$moodle_host.‟_config.php‟);  Individual config.php‟s in /etc/moodles  $CFG->dirroot same as DocumentRoot
  • 12. Distributed code Central Local git fetch /usr/bin/php admin/cli/maintenance.php --enable git merge origin/cvshead /usr/bin/php admin/cli/upgrade.php --non-interactive /usr/bin/php admin/cli/maintenance.php --disable
  • 13. Other aspects  Themes (central / local)  Reporting (central/ local)  Backups  Cohorts?  Import of existing instances?  Support! Resources http://docs.moodle.org/dev/Multitenant_support http://tracker.moodle.org/browse/MDL-28946 http://docs.moodle.org/dev/Web_services_Roadmap http://docs.moodle.org/dev/Moodle_flavours http://docs.moodle.org/22/en/Git_for_Administrators http://docs.moodle.org/22/en/Cohorts
  • 14. Checklist Criteria Options Impact User Management central / local External Management (LDAP / Web Services) Usernames unique yes / no Separate instances required Visibility open / closed Separate instances required Course management central / local Separate system required Admin settings central / local / hybrid Control Modules 1:n / n:n GIT Code modifications central / local / no GIT URL central / sub-domain / separate Web server configuration Themes For each tenant / one-for-all Separate instances required Reporting local / across sites Separate report generator … … …
  • 15. Alex Büchner Twitter: @mcbuchner Thank you www.synergy-learning.com