Moodle-mambo

Moodle-mambo

di puck puck -
Numero di risposte: 21

Ciao a tutti!!!

Ho iniziato da poco a lavorare su moodle e da ancora meno su mambo...ho scoperto che c'è una integrazione tra questi due prodotti.Ho fatto l'integrazione senza nessun problema solo che quando da mambo mi linko a moodle mi compare pochi secondi prima della home di moodle il seguente errore:

notice:Undefined index check in c:\inetpub\moodle\index_mambo.php on line 6

Could not connect to the specified authentication database

Ovviamente ho integrato e inserito i campi richiesti nella parte di autenticazione utente di moodle ...

Inoltre non riesco a essere loggato in moodle con lo stesso utente con cui mi loggo in mambo.

Se qualcuno ha già la soluzione o mi volesse aiutare sarei veramente "salvata dai guai"ammiccante

Media dei voti:  -
In riposta a puck puck

Re: Moodle-mambo

di Marco Ponti -

Ciao Puck Puck...

allora, io ho fatto così:

  • ho scaricato il componente indicato nella mia precedente risposta.
  • Installato moodle in maniera normale
  • nella sezione amministrazione di moodle ho settato l'autenticazione degli utenti da database esterno; quando selezioni la voce database esterno ti chiede i dati del database: li devi inserire tutti i dati del database mysql di Mambo (o joomla come nel mio caso...) compreso quale sia la tabella che contiene gli utenti, quale è il campo della tabella con lo user e quelo con la password; se hai una installazione standard di mambo dovrebbe essere mos_users la tabella, user il campo per lo user e password il campo per la password
  • scompatti il file zip del componente moodle-mambo; troverai un altro zip (il componente vero e proprio) e una cartella moodle; in questa cartella moodle c'è un file index_moodle.php che devi copiare nella cartella del server dove hai installato moodle.
  • a questo punto dall'amministrazione di backend di mambo installi un nuovo componente (usando il file com_moodle.zip uscito dal file zip originale) 
  • Nella configurazione del componente devi settare la cartella di installazione di moodle (per esempio /moodle) e il prefisso delle tabelle del database di mambo (mos_ di solito o jos_ se hai joomla...)
  • L'ultima cosa che ti rimane da fare è linkare una voce di menu di mambo (joomla) con il componente.

Spero che quanto sopra ti sarà utile.

In effetti non funziona proprio tutto, perchè se faccio il login da joomla e poi entro in moodle mi dice che non son logato, ma spero che per questo riuscirai a darmi tu qualche indicazione...

Ciao

In riposta a Marco Ponti

Re: Moodle-mambo

di puck puck -

Ciao,

grazie per la tua risposta ma avevo già risolto una parte dei miei problemi.Cmq la parte che non è risolta riguarda il login del'utente mambo come utente moodle, cioè a me servirebbe che da utente mambo possa loggarmi come utente moodle senza richiedermi la pw di nuovo.

Ho tentato di farlo con il tuo sito ma mi capita una cosa strana....devo fare il logout da mambo per poter loggarmi(ovviamente senza pw) su moodle.Inoltre dal tuo sito se mi loggo direttamente su moodle non mi fa entrare invece io vorrei che la mia integrazione fosse totale.

In riposta a puck puck

Re: Moodle-mambo

di Marco Ponti -
Infatti il problema sta proprio li, ma credo che una integrazione di questo tipo senza modificare codice sarà difficile... magari qualcun'altro ha una soluzione... speriamo... intanto con calma darò un'occhiata al codice per vedere se salta fuori qualche soluzione imprevedibilmente semplice...
In riposta a Marco Ponti

Re: Moodle-mambo

di Davide Casella -

Io ho provato e tutto mi funziona .

Se volete ne possiamo discutere e cercare di risolvere i problemi insieme.

Saluti

Davide

In riposta a Davide Casella

Re: Moodle-mambo

di Marco Ponti -

Ben volentieri...

Lo stato in cui mi trovo io è:

  • installato joomla 1.0.4
  • installato moodle 1.5.3
  • installato componente moodle-mambo seguendo scrupolosamente le istruzioni (spero...)
  • linkato un menu al componente.

Se faccio il login in joomla, e apro moodle (dal link di joomla...) mi dice che non sono logato... a meno che ???? io ho inserito il file index_moodle.php nella directory di installazione di moodle così com'era, non l'ho rinominato come index.php sostituendo l'esistente... sarà mica questo ??

In riposta a Marco Ponti

Re: Moodle-mambo

di Davide Casella -

Ottimo direi,

ho dato un occhio al codice di index_moodle.php e del componente per Mambo/Joomla.

Il problema di fondo è come "passare" i parametri user e pass.

Pay attention.

Nel Db di MoJ ( di seguito si intende con Mambo o Joomla) le password sono criptate tramite md5, per questo motivo nel settaggio delle impostazioni del DB esterno nel campo auth_dbpasstype: deve essere testo semplice.

A questo punto.
Bhe.. NON DEVI cancellare il file index.php di moodle.

Cosa fanno il componente di MoJ e index_moodle.php:
tramite my->username e my->password il componente MoJ ottiene i parametri necessari da passare a Moodle mentre index_moodle.php prende i parametri passati dal componente MoJ ed effettua il vero e proprio login sul sistema.

Tutto funziona per il meglio, dal punto di vista del codice.
Ti ritrovi però ad avere i menu di MoJ e, all'interno della pagina principale, Moodle con i suoi menu e mi sembra un po' pensate...

Non so se sono riuscito a spiegarmi chiaramente cmq rimando a disposizione.

Dave

ps:vi lascio un "chicca":

nella pagine del settaggio del DB esterno nell'amministrazione di moodle trovate un campo URL della pagina di login alternativa potreste inseire quella del componente Login di MoJ ma STATE ATTENTI prima di fare tutto cio' create come nuovo amministratore un utente che avete in MoJ perchè potreste rischiare di rimanere chiusi fuori dal moodle sorridente

Allegato MoJaM.JPG
In riposta a Davide Casella

Re: Moodle-mambo

di Marco Ponti -

Punto 1: Grazie Mille della spiegazione...

Punto 2: dalla tua spiegazione si evince che a parte la chicca della pagina alternativa di login la mia integrazione moodle-moj dovrebbe funzionare come una scheggia perchè ho fatto esattamente tutto quello che tu indichi (per la parte settaggi... plain-text piuttosto che md5...)

Punto 3: mannaggia... a me continua a non funzionare...

Punto 4: ricontrollerò di non aver fatto qualche errore nelle configurazioni e ti farò sapere i risultati.

Grazie mille per ora.

P.S. una "mini chicca" (spero, visto il mio basso livello di conoscenza...) quando integri moodle in mambo o joomla, normalmente associ una voce di menu al componente, giusto ? bene; se non vuoi il menu di mambo in mezzo ai piedi, è sufficiente che nella cartella dei template di mambo crei una cartella per un nuovo template e ci copi dentro il file index.php del template che stai usando; a questo punto nella gestione dei template di mambo ti trovi un template nuovo... usando il tasto "Assegna" lo assegni alla voce di menu che hai associato a moodle. Vai quindi nella modifica template ed elimini dal codice php la colonna di sinistra del template che contiene il menu... il gioco è fatto. se vuoi un esempio: www.internetpassion.net/amicidellamontagna/ trovi il menu a sinistra; se clicchi su "Forum" o su "Foto Gallery"...noterai che il menu a sinistra non c'è più...

Ciao

In riposta a Marco Ponti

Re: Moodle-mambo

di Marina Perotta -

E' inutile sparare con un cannone alle farfalle. Rispondo solo per chiarezza anche se per questo c'è il forum di mambo. In mambo Il menù è contenuto all'interno di un modulo che grazie al settaggio dei parametri può essere reso visibile solo nelle pagine scelte.

basta poco che c'è vo?

In riposta a Marina Perotta

Re: Moodle-mambo

di Davide Casella -

La considarazione MoJ e menu era per dire, forse era troppo implicito, che, a parer mio, è meglio aprire il "componenete moodle" in una nuova finestra pittusto che in un iframe nel mainbody.

X Marco: se mi dici che errori ti da magari li risolviamo!

Saluti

In riposta a Davide Casella

Re: Moodle-mambo

di Marco Ponti -

Dave, grazie della disponibilità... mi ci sto avvicinando...

Il primo problema era che avevo creato l'utente in moodle e solo dopo avevo fatto la modifica per il check degli utenti su db esterno, quindi il mio utente aveva nella tabella user di moodle il campo auth = manual e non db e questo probabilmente impediva a moodle di rilevare correttamente l'accesso... risolto questo l'errore che mi da ora è:

Fatal error: Call to undefined function: update_user_in_db() in /home/internf8/public_html/moodle/index_mambo.php on line 37

A dirti la verità ho il dubbio che il componente sia stato costruito per una versione di moodle precedente... adesso do un'occhiata al codice per vedere se la funzione è stata magari rinominata...

Se hai qualche consiglio... sorridente

In riposta a Marina Perotta

Re: Moodle-mambo

di Marco Ponti -

Dalle mie parti ci son certe farfalle che ogni tanto ci vorrebbbe anche il cannone... c'è vo che anche se togli tutti i moduli dalla colonna sinistra nei template rilasciate col pacchetto base di mambo la colonna di sinistra non sparisce perchè non c'è il controllo dell'assenza di moduli come in altre aree del template... ammiccante

In riposta a Marco Ponti

Re: Moodle-mambo

di Marco Ponti -

Dave, credo che la cosa si faccia più complicata del previsto... pare che la funzione update_user_in_db è una funzione della versione 1.4 di moodle... e in questa versione non ci sia più.. non so però quale sia la funzione che l'ha sostituita (e se sia comunque applicabile così com'è...)

Spero che tu abbia notizie migliori.

Grazie, ciao

In riposta a Marco Ponti

Re: Moodle-mambo

di Davide Casella -

Sì, la funzione è sparita dalla versione 1.5.X ed è stata sostituita da update_user_login_times().

Quindi inserisci

 if (!update_user_login_times()) {
                error("Weird error: User not found");

al posto di

  if (!update_user_in_db()) {
                error("Weird error: User not found");

Vedrai che tutto funzionerà al meglio!

Ciao

Davide
           

In riposta a Davide Casella

Re: Moodle-mambo

di Marco Ponti -

Centro !

Adesso il login è perfetto !

Ancora non fa il logout, ma per come è fatto il bridge moodle-mambo mi pare di capire che il login lo faccia nel momento in cui viene richiamato il componente (caricando la pagina di moodle in un iframe passandogli user e password...) per cui per il logout credo che sarà un problema...

Grazie Mille Dave Box

In riposta a Marco Ponti

Re: Moodle-mambo

di Davide Casella -

I problemi non esistono!

I problemi si risolvono!

Per il logout ho risolto il problema in questo modo:

quando un fa logout su moodle ritorni a mambo nella pagina del lougout e cosi' puoi dicidere se fare logout anche da mambo o solo da moodle!

Per fare cio' devi aprire il file moodle/login/logout.php e cambiare, con un indirizzo a piacere ( magari la home di mambo) il paramtro della funzione redirect

SALUTI

Dave

In riposta a Davide Casella

Re: Moodle-mambo

di Marco Ponti -

Si vede la differenza tra un pivello e uno che ne sa...

grande sorriso

 Thank you

In riposta a Marco Ponti

Re: Moodle-mambo

di Davide Casella -

...peccato che siamo tutti pivelli di fronte al grande moodle!

Per fortuna che il forum ci da la possibilità di fare sharing di idee e cosigli.

Spero quindi di averti aiutato a risolvere i tuoi problemi e confido nel tuo aiuto quando ne avro' io da risolvere big grin.

Buona giornata.

Davide

In riposta a Davide Casella

Re: Moodle-mambo

di Marco Ponti -

Naturalmente...

Grazie mille.

approvo

In riposta a Marco Ponti

Re: Moodle-mambo

di Claudio Cosmaro -
Scusate .. una informazione ...
in fase del caricamento del componente com_modle.zip in Mambo mi da questo errore

SQL Error DB function failed with error number 1064
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '"mainmenu", "Moodle", "index.php?option=com_moodle"' at line 1 SQL=INSERT INTO mos_menu (menutype,name,link,type,published,parent,componentid,sublevel,ordering,checked_out,checked_out_time,pollid,browserNav,access,utaccess) VALUES ("mainmenu", "Moodle", "index.php?option=com_moodle", "components", 1, 0, 19, 0, 8, 0, "0000-00-00 00:00:00", 0, 0, 0, 3)
SQL =
INSERT INTO mos_menu (menutype,name,link,type,published,parent,componentid,sublevel,ordering,checked_out,checked_out_time,pollid,browserNav,acces
E' possibile che sia perchè sto lavorando con una versione vecchia di Mambo (4.5 1.0.8) ??? oppure è un altro problema?
Grazie dell'aiuto
In riposta a Claudio Cosmaro

Re: Moodle-mambo

di Marco Ponti -
direi che la tua ipotesi è la più probabile... dovresti vedere nel componente se è specificata la compatibilità della versione, ma a memoria mi pare che sia per il 4.5.2 (e joomla 1.0.x)