Tag Archives: Multi tenant

Moodle multi tenant

moodle

Definizioni

Multi-tenant. Una parola probabilmente misteriosa per molte persone, che però ha delle notevoli implicazioni pratiche e operative. La multi-tenancy è la capacità di costruire multiple istanze di un software a partire da una singola installazione.

Ad esempio, grazie a questa funzione è possibile installare una piattaforma e-learning in un server e da quella singola installazione creare differenti piattaforme “virtuali” tra loro separate e in parte indipendenti: ogni piattaforma avrà i propri amministratori, i propri utenti, i propri corsi e il proprio layout. Agiranno quindi in modo indipendente le une dalle altre, come se fossero piattaforme tra loro separate.

Limiti e vantaggi

Ovviamente vi sono dei limiti: riprendendo l’esempio precedente, il primo limite riguarda la schermata d’accesso, comune a tutte le piattaforme “virtuali”: d’altra parte finchè l’utente non verrà riconosciuto, non potrà essere assegnato a una delle piattaforme disponibili. Un ulteriore limite riguarda la presenza di utenti duplicati: non potranno esistere due utenti con la stessa username, anche se appartengono a piattaforme virtuali differenti.

Limiti in ogni caso trascurabili se paragonati ai vantaggi, che sono fondamentalmente due: a livello gestionale e a livello organizzativo.

A livello gestionale, grazie alla multitenancy vengono ridotti i costi legati al mantenimento dell’intero sistema: invece di dover effettuare la manutenzione e l’aggiornamento di diverse piattaforme installate separatamente, è sufficiente agire su una sola piattaforma, riducendo impegno e costi di gestione.

A livello organizzativo la multi tenancy permette di creare gerarchie complesse, separando i diversi ambiti operativi e dando loro autonomia, mantenendo allo stesso tempo un controllo generale dell’intero sistema. Questo secondo aspetto, come vedremo, rappresenta un elemento fondamentale per rispondere alle complesse esigenze presenti nelle aziende di medie e grandi dimensioni, spesso strutturate in modo complesso e decentrato.

Esempi

Vediamo alcuni esempi dove la multy-tenancy può essere risolutiva.

1. Azienda di medie dimensioni strutturata in più dipartimenti; ogni dipartimento deve mantenere una forte autonomia a livello gestionale, in modo da rispondere a esigenze formative specifiche e particolari.

2. Azienda diffusa nel territorio, con molte sedi che svolgono funzioni simili e quindi hanno esigenze formative simili, ma che devono comunque essere tenute separate per motivi di privacy e logistici.

3. Azienda internazionale che intende personalizzare i contenuti nelle diverse regioni del mondo,

4. Piccola azienda che intende utilizzare la piattaforma sia per il personale interno che per la clientela, riducendo i costi, ma mantenendo gli spazi comunque separati.

Questi pochi esempi evidenziano come la multi tenancy non comporti la semplice riduzione di costi di manutenzione, ma permetta di rispondere ad esigenze che altrimenti non potrebbero trovare una risposta, diventando così insostituibile in una serie di situazioni.

Moodle (no multi tenancy)

A questo punto bisogna fare una triste ammissione: Moodle non ha funzioni che permettano il multi tenant. E la soluzione non sembra in vista, come viene esplicitamente dichiarato qui:

  • Multi-tenant support
  • Project state CANCELLED

https://docs.moodle.org/dev/Multitenant_support

Un progetto avviato con buone intenzione nel lontano 2011, presentato anche durante un Moodle Moot in Irlanda (Moodle 2.3) , poi tramontato per le troppe difficoltà tecniche. Il 30 Maggio 2014 Martin Dougiamas (creatore di Moodle) lascia il messaggio finale sul tracker del progetto:

Closing this because it’s simply not going anywhere with core Moodle.

Una frase molto significativa. La multitenancy non sembra essere tra le opzioni di Moodle, nonostante vi siano situazioni in cui è indispensabile. E’ un chiaro limite di Moodle, da non sottovalutare, perchè tali situazioni sono diffuse, e potrebbero far emergere competitor differenti da Moodle.

Soluzioni e alternative

Ovviamente vi sono delle soluzioni, l’esigenza è diffusa come testimoniano i messaggi del forum, e quindi si cercano strade alternative.  Tra queste vi è un’idea italiana, di Andrea Bicciolo di Mediatouch, che prevede di utilizzare la funzione “cohort” in Moodle per gestire una Multitenancy “fittizia”. Un progetto interessante, ma ancora in divenire.

1. Corsi, utenti e layout filtrati per Cohort (in arrivo)

Due soluzioni (!) complementari, entrambi basati sulle cohort, potrebbero permettere di gestire un surrogato di multi tenancy. Da un lato il progetto 46401 di Mediatouch, che prevede di gestire layout e categorie di corsi separate in base alla “cohort” di appartenenza. Questa soluzione, parziale, tuttavia è bene notare:

Thanks to Andrea Bicciolo at Mediatouch for the idea – he estimated it would be suitable for 80% of his clients who want “multi-tenancy” in Moodle

Dall’altro c’è il progetto 48203, che prevede l’impiego delle “cohort” per separare gruppi di utenti durante il processo di iscrizione ai corsi. In questo modo un insegnante vede solo gli utenti che appartengono al proprio gruppo anche al momento dell’iscrizione.

Ci sono i tracker per entrambi i problemi, ma non è ancora stata trovata una soluzione. Ci vorrà tempo, due progetti paralleli e complessi, entrambi incompleti, ci sarà sicuramente da aspettare.

https://tracker.moodle.org/browse/MDL-28946

https://tracker.moodle.org/browse/MDL-46401

2. Utilizzare Iomad, un fork di Moodle open source

Iomad è una versione open source di Moodle con la multitenancy. Gestita da un’azienda scozzese, questo fork sembra funzionare bene: in Moodle, compare una nuova sezione che permette di visualizzare gli utenti e compiere altre operazioni in base alla cohort di appartenza. I dubbi non vengono dal sistema in sè, che sembra essere efficiente, ma dal suo aggiornamento rispetto alla versione ufficiale di Moodle, tutto da verificare.

http://www.iomad.org/what-is-iomad/

3. Utilizzare FormaLMS

Come Max ci racconta in un ottimo articolo su elarnit, FormaLMS supporta le funzioni multi tenant. Questa piattaforma è un fork di DOCEBO, piattaforma e-learning italiana un tempo open source ora a pagamento. Il progetto è stato preso in mano da Elearnit.

http://www.formalms.org/

4. Leggere il paper sulla multitenancy in Moodle.

http://www.synergy-learning.com/wp-content/uploads/2012/05/Multi-tenancy-in-Moodle.pdf