Creazione di un nuovo livello gerarchico

Creazione di un nuovo livello gerarchico

di Domenico Pontari -
Numero di risposte: 17

Lavoro per una società di e-learning, stiamo sviluppando delle modifiche alla piattaforma che permettano di gestire più clienti. Attualmente a ogni cliente assegnamo una categoria, all'interno di ogni categoria realizziamo i corsi che interessano a quel cliente; chiaramente puntiamo a fare in modo che ogni cliente abbia l'impressione che su Moodle ci siano solo corsi destinati a lui. Per esempio Moodle deve essere in grado di riconoscere gli utenti di una categoria e, subito dopo il login, li deve dirottare sulla pagina principale specifica per quella categoria, esisterà quindi una pagina iniziale per ogni categoria. Ancora di più: visualizzando tutti i corsi presenti su Moodle l'utente vedrà solo quelli destinati alla sua categoria di appartenenza e così via. Qualcuno si potrebbe chiedere perché non installare più copie di Moodle tutte uguali? Fondamentalmente per facilità di gestione: i nostri amministratori, chiaramente non devono essere vincolati dalle categorie, ma devono poter mettere mano dovunque.

Mi stavo chiedendo se qualcuno è interessato al lavoro che stiamo facendo o se qualcuno ha avvertito questa stessa esigenza e come l'ha risolta...

Un saluto,

Domenico

Media dei voti:  -
In riposta a Domenico Pontari

Re: Creazione di un nuovo livello gerarchico

di Davide Riboli -
Qualcuno si potrebbe chiedere perché non installare più copie di Moodle tutte uguali? Fondamentalmente per facilità di gestione: i nostri amministratori, chiaramente non devono essere vincolati dalle categorie, ma devono poter mettere mano dovunque.

Non basta dargli le pwd d'accesso x ogni installazione?

grande sorriso

Se ci penso un po' su mi pare che il solo strumento che ti permetta la creazione di categorie illimitate, con un raffinato sistema di gestione dei permessi acclusi sia Postnuke. Con un po' di lavoro lì sopra, considerando il quantitativo immenso di materiali già a disposizione, dovresti fare abbastanza presto a costruirti quel che ti serve.

Il sito di riferimento è: http://www.postnuke.com

Qualcuno ha sviluppato un modulo Postnuke per integrarvi Moodle all'interno, ma mi pare di ricordare che si trattasse poco più di un iframe.

In riposta a Davide Riboli

Re: Creazione di un nuovo livello gerarchico

di Domenico Pontari -

> Non basta dargli le pwd d'accesso x ogni installazione?

No, è un problema soprattutto di contenuti: i clienti sono diversi, ma i contenuti sono molto simili, è utile quindi che l'amministratore possa interrogare tutte le categorie contemporaneamente per trovare ciò che gli serve.

> Se ci penso un po' su mi pare che il solo strumento che ti permetta la creazione di categorie illimitate, con un raffinato sistema di gestione dei permessi acclusi sia Postnuke

Grazie del consiglio... però le modifiche le abbiamo già fatte (almeno nella parte essenziale), mi stavo chiedendo se interessano e se c'è qualcuno che è interessato a mettere a punto un sistema che si possa integrare perfettamente con le prossime versioni di Moodleammiccante.

Un saluto,

Domenico

In riposta a Domenico Pontari

Re: Creazione di un nuovo livello gerarchico

di Alberto Bulzatti -

Il lavoro che stai svolgendo è interessante. Potresti darmi delle indicazioni sugli aspetti tecnici del lavoro fino ad ora svolto? sorridente

Un saluto,

Alberto

In riposta a Alberto Bulzatti

Re: Creazione di un nuovo livello gerarchico

di Domenico Pontari -

Scusa se ti rispondo solo ora...

ti invio il file contenente le modifiche da apportare alla versione 1.4+ di Moodle. Troverai i file che ho modificato in formato RTF. Andando ad aprirli puoi vedere che le modifiche che ho fatto sono evidenziate in grassetto, questo permette di ritrovare facilmente le parti di codice che ho modificato in modo da poterle adattare anche alle versioni successive (purtroppo non ho ancora capito bene come inserirmi nei CVS). Per rendere effettive le modifiche basta:

1) decomprimere il file "Power Moodle 2.zip" nella directory principale di Moodle.

2) Eseguire lo script SQL che comparirà nella directory principale di Moodle e che si chiama "mdl_course_categories.sql" o aggiungere a mano il il campo leadercourse di tipo int(10) - UNSIGNED - Not Null - Predefinito = 0 nella tabella "mdl_course_categories" del DB di Moodle. Questo campo stabilisce se esiste un corso che funge da pagina principale per quella categoria.

3) Se la versione di Moodle su cui verranno effettuate le modifiche è la  1.4+ basta salvare i file RTF in formato testo (per trovarli basta usare il comando TROVA di Windows con l'opzione "*.rtf"), se invece vengono installati su versioni più recenti o più vecchie bisogna individuare file per file il testo in grassetto e copiarlo nella posizione giusta del file corrispondente.

Non se così sono andato troppo nel dettaglio... se invece volevi solo una panoramica del lavoro fatto basta che mi mandi un replay con la richiesta!

Bye,

Domenico

In riposta a Domenico Pontari

Re: Creazione di un nuovo livello gerarchico

di Marco Gianfranchi -

Ho esattamente il tuo stesso problema. Non avevo ancora letto questo post e ne ho spedito uno simile al forum. Confermo che si tratta di una problematica fondamentale per chi si appresta a fornre a terzi servizi e-learning e quindi potrebbe valere la pena approfondire questo tema.

Il programma che ho sviluppato precedentemente in asp aveva risolto questa faccenda ma non aveva altre caratteristiche che moodle oggi offre quindi sto preparando "la migrazione"...

saluti

MG

In riposta a Marco Gianfranchi

Re: Creazione di un nuovo livello gerarchico

di Domenico Pontari -
Hai visto il codice che ho allegato? Cosa ne pensi?
Un saluto,
Domenico
In riposta a Domenico Pontari

Re: Creazione di un nuovo livello gerarchico

di Stefano Garuti -
Domenico,
ho provato il tuo codice...
Direi che è veramente quello che manca a Moodle... o almeno l'inizioammiccante


Se posso ti farei qualche domanda...grande sorriso
1) il corso leader che funzione ha? come si imposta?
2) se volessi cambiare header (o il tema) in base alla categoria, credi che sia fattibile? (l'obiettivo è poter personalizzare l'apparenza del sito in base alle necessità del cliente)

Lavoro insieme a Marco Gianfranchi (vedi qualche post precedente) e ti segnalo il nostro interesse e la nostra disponibilità a lavorare su questo aspetto.

la mia conoscenza di moodle è veramente agli inizi, ma con il php non ho problemi... se può essere utile...sorridente



Intanto grazie mille e complimenti per il tuo hack!
In riposta a Stefano Garuti

Re: Creazione di un nuovo livello gerarchico

di Domenico Pontari -

Scusa se ti rispondo praticamente un mese dopo triste, ho dovuto concentrarmi su altri task. Comunque spero di essere ancora in tempo:

1) il corso leader che funzione ha? come si imposta?
E' il nome del corso che costituirà la prima pagina della categoria. Per impostarlo è sufficiente andare su "modifica corso" e selezionare la casella di controllo in fondo al modulo che presenta tutte le caratteristiche del corso. Il campo leadercourse però va inserito a mano nel db.

2) se volessi cambiare header (o il tema) in base alla categoria, credi che sia fattibile? (l'obiettivo è poter personalizzare l'apparenza del sito in base alle necessità del cliente)
La flessibilità da categoria a categoria dipende da quanto sono flessibili e personalizzabili i temi dei singoli corsi: il nuovo livello gerarchico è ottenuto semplicemente copiando l'idea con cui è stata realizzata la prima pagina di Moodle: non è altro che un corso come tutti gli altri con il campo course_category = 0.

Nel frattempo mi sto mettendo in contatto con Martin, per sapere se è possibile inserire queste modifiche nelle future release di Moodle.

Bye!

In riposta a Domenico Pontari

Re: Creazione di un nuovo livello gerarchico

di Marco Zampacavallo -

Ho installato le modifiche e ho fatto diverse prove... è veramente quello che mi serviva!

Però ho un problema: alcuni insegnanti appartengono a corsi di diverse categorie... quando fanno il login rimangono nella home principale dove avendo nascosto il blocco dei corsi (per vitare che siano visibili a tutti) non possono accedere ai loro corsi.

Sbaglio qualcosa?

Grazie
Marco

In riposta a Marco Zampacavallo

Re: Creazione di un nuovo livello gerarchico

di Domenico Pontari -

Non sbagli nulla: quando un docente o un utente è iscritto a corsi che fanno riferimento a diverse categorie, non è più possibile stabilire qual è il cliente per cui sta svolgendo docenza e quindi non è più possibile scegliere qual è la home page giusta per lui.

Mettiamoci nei panni di Goku, un docente (o un tutor) di una società di e-learning, la TuttoSo, e che insegna nel corso di Lampadine per la società Lux e nel corso di Torte per la società Pasta&Pasticci, perché queste società non hanno persone competenti che sappiano gestire corsi a distanza. Goku e l'amministratore della piattaforma devono dunque avere un panorama più ampio di quello dei dipendenti di Lux e Pasta&Pasticci, per questo ho mantenuto la pagina principale che serve come pagina di amministrazione per il personale di TuttoSo. Per far visualizzare i corsi basta attivare, nella pagina principale di Moodle, il box dei corsi, o se preferisci cambiare lo stile della pagina principale, da relazionale a quello in cui vengono mostrate le categorie dei corsi; cliccando su una categoria, si accede alla home page di quella categoria tornando praticamente ad essere un utente "normale".

Se invece la Lux o la Pasta&Pasticci avessero dei docenti propri, questi dovrebbero essere solo iscritti a corsi della propria categoria e quindi non dovrebbero mai vedere la vera home page di Moodle.

Tu hai scenari diversi in cui questa situazione non va bene?

Un saluto,

Domenico

In riposta a Domenico Pontari

Re: Creazione di un nuovo livello gerarchico

di Marco Zampacavallo -

Grazie Domenico,

il discorso fila... se non fosse che la TuttoSo vuole tassativamente che gli utenti finali non sappiano quali sono i clienti e i relativi corsi attivati sulla piattaforma, quindi non posso rendere visibile il blocco dei corsi in home nè tantomeno cambiare lo stile per visualizzare i corsi.

Ho trovato una soluzione "sbrigativa" (commentando sul tuo codice il secondo if del foreach di index.htm) facendo in modo che chi ha più di una categoria (nel mio caso solo docenti) sia indirizzato comunque all'ultima e dal momento che nel corso leader visualizzo il blocco corsi può muoversi tra le diverse categorie (il problema non è completamente risolto perchè cliccando su "tutti i corsi..." anche l'utente finale può vedere ugualmente le diverse categorie... ma almeno non è in home!).

La soluzione ideale potrebbe essere la forzatura della visualizzazione del blocco corsi in caso di amministratori e docenti... ma è da verificare la fattibilità ed altre eventuali implicazioni.

Ciao
Marco

In riposta a Marco Zampacavallo

Re: Creazione di un nuovo livello gerarchico

di Domenico Pontari -

Non capisco: hai dei clienti che vuoi che si possano iscrivere a più di una categoria? Per quale motivo?

Il problema che hai evidenziato, l'ho già risolto nel caso di docenti con un'unica categoria di appartenenza: se provi a creare un docente o un alunno iscritto a corsi di una sola categoria vedrai che sia nel blocco dei corsi, sia nella sezione centrale, sia quando clicchi su "Mostra tutti i corsi", non compaiono mai corsi di altre categorie. Ciò perché sono andato a modificare il codice per cui ogni volta che cerca tutti i corsi, Moodle verifica se l'utente è iscritto a corsi che afferiscono solo a una categoria, se è così si limita a visualizzare l'elenco dei corsi di quella categoria, altrimenti li fa vedere tutti.

Se hai la necessità di non far vedere mai l'elenco di tutti i corsi potresti modificare il codice, in modo che sempre fa vedere corsi di categorie a cui l'utente corrente è iscritto. Però a questo punto: come amministrare Moodle? Bisogna far iscrivere l'amministratore a tutte le categorie presenti agendo direttamente sul DB, perché alle pagine che chiedono conferma dell'iscrizione nessuno può mai arrivarci, se non è già iscritto almeno ad un corso della categoria.

Un saluto,

Domenico

In riposta a Domenico Pontari

Re: Creazione di un nuovo livello gerarchico

di Marco Zampacavallo -

Prima di risponderti ho verificato di aver apportato tutte le modifiche al codice (e mi sembra di si!)... perchè il filtro sui corsi (per gli iscritti ad una sola categoria visualizza solo i corsi relativi a quella categoria) non mi funziona... allego delle schermate per illustrarti sia questo, sia quanto dicevo nel precedente post.

Ho tre clienti: pluto, pippo e paperino.

Questa sotto è l'home page in caso di utente non "loggato", i tre clienti non devono sapere l'uno dell'altro... e qui anche togliendo la visualizzazione centrale dei corsi il blocco in basso a sinistra mostra le categorie (quindi i clienti... perciò dico che devo nasconderlo!) 

home

Se mi "loggo" come utente, dal momento che appartengo al cliente pluto vengo rimandato al relativo corso leader nel quale vedo giustamente il corso pluto che dovrei frequentare

leader

se però clicco su "tutti i corsi" (dal blocco corsi o dal bottone centrale) visualizzo la seguente schermata e aprendo il menù a tendina... mi visualizza i tre clienti (cosa che dovrei evitare) e i relativi corsi.

corsi

Per quanto riguarda gli studenti non ho nessun problema (tranne questo trascurabile in caso di visualizzazione di tutti i corsi), mentre per gli insegnanti che hanno + categorie, dovendo nascondere il blocco corsi in home se non li "assegno" ad uno dei clienti (commentando la riga come detto nel precedente post) non sanno come andare nei differenti corsi.

A questo punto molto probabilmente mi dirai... hai sbagliato qualcosa!!grande sorriso

ciao
Marco

In riposta a Marco Zampacavallo

Re: Creazione di un nuovo livello gerarchico

di Domenico Pontari -

Purtroppo attualmente non posso entrare nello specifico come vorrei: mi hanno appena cambiato la macchina su cui lavoravo e sto aspettando che me la riformattino perché dà un po' di problemi. Cmq, tra le specifiche per cui ho sviluppato le modifche ce n'erano un paio che il tuo ex mette in luce:

1) Alla nostra piattaforma non è possibile accedere senza essersi previamente loggati per cui la schermata 1 dell'ex non si dà

2) La modalità di visualizzazione per la pagina iniziale prevista dovrebbe essere quella per categorie e non per corsi: dovrei aver modificato il codice affinché quando si clicca su una categoria dalla pagina principale (visibile solo in caso di utenti iscritti a + categorie), si vada direttamente alla pagina iniziale di quella categoria e non alla schermata 3 del tuo esempio.

Purtroppo mi rendo conto di essere un po' evasivo in questo momento, ma conto di entrare più nel dettaglio appena avrò ripristinato il funzionamento normale della mia postazione.

Bye,

Fairsayan 

In riposta a Domenico Pontari

Re: Creazione di un nuovo livello gerarchico

di Domenico Pontari -

Scusa il ritardo della risposta, ma ho avuto un po' da fare. Ti allego di nuovo le modifiche al codice... purtroppo con le nuove release non funzionava più.

Attualmente sulla nostra piattaforma le modifiche fatte stanno funzionando, c'è da dire che purtroppo usiamo una versione nightly builded di Moodle di qualche mese fa, quindi siamo in una condizione tutta particolare triste.

Saluti,

Fair

PS: Purtroppo l'allegato pesa + di 500 kb => l'ho messo su un sito: http://www.geocities.com/jammermimmo/