Non visualizzo le immagini del sito e i files dei corsi dopo riproduzione in locale dell'ambiente di produzione

Non visualizzo le immagini del sito e i files dei corsi dopo riproduzione in locale dell'ambiente di produzione

di Federico Turato -
Numero di risposte: 6

Ciao,

Ho creato un ambiente in locale del moodle versione 2.6.6 dell'ambiente di produzione.

Tuttavia tutte le immagini e i files allegati ai corsi non si visualizzano.

Ho copiato in locale la cartella con i files 'data' e chiaramente l'url con cui mi connetto a moodle è differente tra produzione e collaudo quindi ho modificato il file config.php opporutnamente. Inoltre ho importato il dump del database di produzione nel MySql locale. Mi aspettavo che riproducendo in locale l'ambiente di produzione tutti i files fossero automaticamente visibili, invece sembra che moodle non riesca più a ricreare l'url dove si trovano i files in locale.

Il sito ed il template si visualizzano ma le immagini del template e le immagini in generale inserite nei corsi non si visualizzano più.

Come posso risolvere?

Grazie anticipatamente per l'aiuto.

Media dei voti:  -
In riposta a Federico Turato

Re: Non visualizzo le immagini del sito e i files dei corsi dopo riproduzione in locale dell'ambiente di produzione

di Andrea Bicciolo -
Immagine Core developers Immagine Plugin developers Immagine Translators

Ciao Federico,

prova a vedere se questo paragrafo della documentazione di Moodle  e il relativo tool "replace" possono aiutarti:

In riposta a Andrea Bicciolo

Re: Non visualizzo le immagini del sito e i files dei corsi dopo riproduzione in locale dell'ambiente di produzione

di Federico Turato -

Ciao e grazie della risposta,

tuttavia quello script di replace non risolve il problema.

ho sostituito l'url del sito di produzione con localhost:81/moodle2.6.6 ma i files continuano a non venire trovati.

Navigando all'interno dei corsi e cliccando su alcuni link che dovrebbero contenere dei files ottengo questo messaggio di errore:

"Spiacente, ma questo tipo di risorsa legacy (file) non è stato ancora migrata."

Inoltre ad esempio questo url dell'immagine non risolve più l'immagine:

http://localhost:81/moodle2.6.6/pluginfile.php/11649/coursecat/description/rls.png

L'immagine non si visulizza.

E' come se portando in locale il sito, i riferimenti ai files si fossero persi. Eppure io ho copiato esattamente tutta la cartella "data" della produzione, tutto il database e tutta la public_root di moodle.

Poi ho configurato opportunamente il config.php.

In produzione chiaramente il sito funziona.

Qualcuno sa come posso risolvere?

Grazie ancora.

Federico

In riposta a Federico Turato

Re: Non visualizzo le immagini del sito e i files dei corsi dopo riproduzione in locale dell'ambiente di produzione

di Matteo Scaramuccia -

Ciao Federico,
mai avuta una simile esperienza, sembra quasi che le tue risorse necessitino ancora di migrazione dalla 1.9 nonostante in Produzione funzioni tutto regolarmente: https://docs.moodle.org/dev/Resource_module_file_API_migration#resource_old_database_table.

Ripasso gli step della tua clonazione:

  1. Copiato in locale i files in produzione attraverso e.g. FTP settato in modalità binaria: oggetto di questa copia sono le folder WWWROOT e DATAROOT;
  2. Copiato in locale il dump del database in produzione;
  3. Configurato in locale la stessa versione di PHP e DB server usati in produzione;
  4. Variato config.php perché punti alla URL del web server locale, alla DATAROOT locale e al database locale.

Quali altri punti hai fatto? Puoi controllare se la tabella per la migrazione esista anche in produzione?

Matteo

In riposta a Matteo Scaramuccia

Re: Non visualizzo le immagini del sito e i files dei corsi dopo riproduzione in locale dell'ambiente di produzione

di Federico Turato -

Ciao e grazie della risposta,

se ho capito bene la tua domanda, devo verificare se esiste la tabella mdl_resource_old nel database di produzione, corretto? E' questo che intenti per tabella della migrazione?

Bene questa tabella esiste ed esiste anche la tabella mdl_resource.

Per quanto riguarda l'altra tua domanda, quella riguardante il processo di copia in locale del moodle di produzione, ho eseguito esattamente tutti i punti che hai descritto dall'1 al 4 e nessun altro. L'unica variazione dalla produzione è che in produzione ho un url del tipo http://www.miosito.it invece in locale ho http://localhost:81/moodle2.6.6.produzione

Sto rifacendo per la seconda volta tutto il processo di copia in locale per vedere se per caso avevo commesso qualche errore ma ho l'impressione di no.

In ogni caso se volessi andare a verificare l'esistenza di un file migrato in locale come posso farlo?

Ad esempio l'immagine che se dal sito copio l'url dell'immagine ottengo:

http://localhost:81/moodle2.6.6.produzione/pluginfile.php/25652/coursecat/description/risorse-umane.png

dove posso trovarla nella cartellatura DATAROOT /media/sf_dataProduzione/filedir?

Perché ho visto che i file sono stati salvati in formato 00014cb09d865538c8ee5633a80b7a61e9fec66a.

Come faccio a sapere questo files a cosa corrisponde dato l'url che ho nel sito?

Sapere questo forse mi farebbe capire dov'è l'errore.

Grazie anticipatamente


In riposta a Federico Turato

Re: Non visualizzo le immagini del sito e i files dei corsi dopo riproduzione in locale dell'ambiente di produzione

di Matteo Scaramuccia -

Ciao Federico,
per trovare il file nella DATAROOT devi cercare prima dentro la tabella mdl_files e quindi tramite l'hash cercare nella filedir, ad esempio: se l'hash è 00014cb09d865538c8ee5633a80b7a61e9fec66a allora troverai il file in filedir/00/01/00014cb09d865538c8ee5633a80b7a61e9fec66a.

Refs.: https://docs.moodle.org/dev/File_API_internals#File_storage_on_disk ed il paragrafo seguente.

HTH,
Matteo

In riposta a Matteo Scaramuccia

Re: Non visualizzo le immagini del sito e i files dei corsi dopo riproduzione in locale dell'ambiente di produzione

di Federico Turato -

Grazie ancora della risposta e scusate se questa volta mi dilungherò un po,

tuttavia a database se cerco nel campo "filename" della tabella mdl_files l'immagine rls.png in modo da sapere a quale hash si riferisce, non trovo il filename di questa immagine a database.

E' è possibile che il nome di una immagine che viene presentata nel browser ad esempio attraverso il link:

http://localhost:81/moodle2.6.6/pluginfile.php/11649/coursecat/description/rls.png

non sia contenuta nella tabella mdl_files?

Tutti i files del sito, comprese le immagini dovrebbero essere contenuti in questa tabella oppure ci sono altre tabelle che gestiscono informazioni sui files?

Ad esempio il logo del sito che da browser si trova all'indirizzo:

http://localhost:81/moodle2.6.6.produzione/pluginfile.php/1/theme_bianco/customlogourl/1415874919/headerG.png

quindi non il file di un corso ma il semplice logo del sito se cerco nella tabella mdl_files headerG.png non trovo nessun riferimento a questo file perché non è un file di un corso.

E spostando in locale il sito non riesco più a visualizzarlo.

Quindi vi chiedo:

1) c'è differenza tra file dei corsi che si trovano nella tabella mdl_files e files generici come loghi del sito o loghi dei corsi che hanno smesso di essere visualizzati?

2) Oppure si dovrebbero tutti trovare nella tabella mdl_files?

Spero di essere stato chiaro su quello che vorrei capire, perché approfondendo mi sembra che ci sia differenza nella gestione tra file che trovo a database nella tabella mdl_files e gli altri files come immagini (ad esempio il logo in alto a sinitra del sito) che non si visualizzano più e che non trovo nella tabella mdl_files.

Grazie anticipatamente

Federico