Top Banner
Multi-Tenancy Support in Moodle 2.x Alex Büchner @mcbuchner
15

Moodlemoot dublin 2012 multitenancy

Jul 01, 2015

Download

Technology

Alex Büchner

Alex Büchner's talk from the Moodlemoot in Dublin about multi-tenancy
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Moodlemoot dublin 2012   multitenancy

Multi-Tenancy Support

in Moodle 2.x

Alex Büchner@mcbuchner

Page 2: Moodlemoot dublin 2012   multitenancy

Central

Moodle 1

Moodle 2

Moodle 3

Moodle 4

Moodle 5

Moodle …

Page 3: Moodlemoot dublin 2012   multitenancy

Multi-tenancy in Moodle 2.3

Tenant

Page 4: Moodlemoot dublin 2012   multitenancy

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…”

Page 5: Moodlemoot dublin 2012   multitenancy

Central Instance

Local Instance(s)

User Management

Course Management

Themes

Reports

Settings

Modules

Code

Page 6: Moodlemoot dublin 2012   multitenancy
Page 7: Moodlemoot dublin 2012   multitenancy

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?

Page 8: Moodlemoot dublin 2012   multitenancy

User & Role Web Services

Page 9: Moodlemoot dublin 2012   multitenancy

Settings

Global vs. local admin settings

“Freeze” values in in config.php

E.g. $CFG->loginhttps=false;

Flavours

Page 10: Moodlemoot dublin 2012   multitenancy

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?

Page 11: Moodlemoot dublin 2012   multitenancy

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

Page 12: Moodlemoot dublin 2012   multitenancy

Distributed code

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

Central Local

Page 14: Moodlemoot dublin 2012   multitenancy

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

… … …

Page 15: Moodlemoot dublin 2012   multitenancy

www.synergy-learning.com

Thank you

Alex Büchner

Twitter: @mcbuchner