Back to top

Autore Topic: Zoom Media Gallery: soluzione ad alcuni problemi  (Letto 3331 volte)

Offline berta

  • Nuovo arrivato
  • *
  • Post: 23
    • Mostra profilo
Zoom Media Gallery: soluzione ad alcuni problemi
« il: 12 Set 2007, 00:10:33 »
Salve,

in questo periodo ho dedicato qualche giorno del mio tempo libero alla realizzazione di un sito no profit che comprende ed estende la galleria Zoom

Era necessario che il lavoro venisse svolto in php/mysql, ambiente di sviluppo che per la verita' non mi e' molto congeniale, ho quindi aprofittato molto delle informazioni trovate qui, ragion per cui cerco di restituire qualche suggerimento sulla base delle (poche) esperienze fatte di questi giorni.

Il contesto in cui ho operato e':
joomla 1.0.13 Stable
zoom media gallery 2.5.1 RC4

I problemi per i quali non ho trovato una soluzione leggendo il forum:

Problemi con le funzioni ajax (pulsanti mancanti nella toolbar di gestione gallerie, votazione foto, inserimento foto nel raccoglitore, etc..)

Soluzioni trovate:

le routine ajax ritornano in callback il risultato dell'elaborazione in formato xml (responseXML). Per fare questo viene preparata una risposta di tipo xml, la quale richiede un header di tipo text/xml, impostato tramite la funzione $zoom->startXML.

Tutte le header http devono essere inviate prima dell'output di qualsiasi altro output, dal momento in cui viene inviato un output di tipo diverso non e' piu' possibile inviare altre header http.

I problemi con le routine ajax di zoom gallery sono dovuti al fatto che in alcuni casi nel momento in cui viene chiamata la funzione $zoom->startXML e' gia' stato inviato dell'output, rendendo di fatto inefficace la chiamata alla funzione.

Cio' comporta che la risposta che giunge al metodo di callback non e' nel formato che questo si aspetta responseXML ma bensi di tipo responseText, di fatto illeggibile al metodo che la elabora.

Quali sono i casi che generano un output indesiderato, prima dell'invio dell'header che imposta il tipo di output xml ?

1) messaggi di errore:
nel file lib/inserts.class.php vi e' questa definizione:
define( "_VALID_MOS", 1);
quando questo file viene richiamato da www/ajaxcallback.php si genera un errore per il fatto che questa define e' gia' presente nel file chiamante. La cosa puo' essere risolta sostituendo la riga
define( "_VALID_MOS", 1);

con
if (!defined("_VALID_MOS", 1)) {
  define( "_VALID_MOS", 1);
}

all'inizio del file lib/inserts.class.php

oppure inserendo prima della define questa riga:
error_reporting(0);

per fare in modo che non venga generato un messaggio d'errore in corrispondenza della define ridondante.

2) incorretta configurazione
le funzioni ajax utilizzano la variabile di configurazione
$mosConfig_live_site
e' importante che sia impostata con lo stesso tipo di url che utilizzate per navigare all'interno dell'applicazione.
Se ad esempio navigate la url:
http://10.0.0.1/joomla
ed impostate la variabile $mosConfig_live_site con:
http://localhost/joomla
avrete sicuramente problemi.

3) occhio ai caratteri all'inizio e alla fine dei file .php
qualsiasi carattere al di fuori dei tag che contengono lo script php generano output che determina i predetti problemi con le header http.
Basta anche un solo spazio come primo carattere nel file lib/inserts.php per rendere inefficaci le routine ajax di zoom gallery.

Da notare che molti file php in zoom gallery sono privi del tag di chiusura php alla fine del file. Questo non sembra generare problemi, ad ogni modo e' un'anomalia che e' meglio sistemare.
 
Problema di lentezza nella visualizzazione immagini con gallerie ricche di file.

Ho riscontrato una progressiva lentezza che aumenta all'aumentare dei file nella galleria, nel mio caso con circa 200 immagini la cosa diventa insostenibile..

La causa di cio' e' nella funzione di presentazione (slideshow), se abilitata (non occorre utilizzarla basta che sia abilitata nel file di configurazione) richiama una porzione di codice scellerata la quale ad ogni visualizzazione immagine si spazzola l'intera galleria creando due istanze di classe image per ogni immagine, con relative query sql. Con 200 immagini si ha un'iterazione che genera 400 istanze di classe..
Non avendo necessita' di tale funzione e' stato sufficente disattivarla per eliminare il problema, a chi invece dovesse servire consiglio assolutamente di riscriverla.

Spero di essere stato utile a qualcuno.

Saluti

mauro
--


Offline rampa84

  • Nuovo arrivato
  • *
  • Post: 21
  • Sesso: Maschio
    • Mostra profilo
Re: Zoom Media Gallery: soluzione ad alcuni problemi
« Risposta #1 il: 12 Set 2007, 14:23:23 »
salve, anche io ho installato la zoom gallery su joomla 1.0.13 ma  riscontro diversi errori alcuni dei quali pure brutali.

Ad esempio, inserendo i commenti mi viene fuori un errore php riferito a sendMail o Mailsend ora non ricordo bene. Portando in popup la galleria e inserendo il commento questa diventava bianca e dovevo chiuderla; in entrambi i casi mi ritrovavo i commenti. Ho tolto la riga php aggiungendo // davanti e vedendo che succedeva... il problema semrbra non sussistere piu.
Il problema piu grave di tutti e al quale non ho soluzione è questo: quando carico un file zip con diverse foto se giro le immagini o le deseleziono perchè non vengano caricate mi cancella interamente il sito... tutto ciò che è riferito a joomla. La prima volta che mi è successo dall'ftp vedevo solo una cartella che avevo creato io. il resto vuoto totale.

Offline torinki

  • Esploratore
  • **
  • Post: 60
  • Sesso: Maschio
    • Mostra profilo
Re: Zoom Media Gallery: soluzione ad alcuni problemi
« Risposta #2 il: 06 Nov 2007, 08:41:39 »
Ciao,
sto anch'io combattendo con Zoom Media Gallery.
Ho la tua stessa configurazione (joomla e ZMG) ma sicuramente non ho le tue conoscenze. Il mio sito è su arruba.
Volevo chiederti da dove si disabilita la funzione della presentazione.

Grazie

 



Web Design Bolzano Kreatif