Soprattutto quando si è alle prime armi si rischia che la nostra inesperienza ci costringa un domani a fare il doppio del lavoro e a pensare "ah se l'avessi saputo prima...", cercherò quindi di raccogliere qui una serie di informazioni e consigli su come muoversi nella creazione dei propri siti con Zikula.
Non modificare i file di Zikula
Ovviamente non vi sto dicendo che non dovete personalizzare la vostra installazione di Zikula, ma che c'è modo e modo di farlo.
Il problema principale di quando si vanno ad apportare delle modifiche è che si rischia di rendere poi estremamente complicato il processo di aggiornamento del CMS; è quindi importante aver presente come ogni modifica si ripercuota su tale processo.
L'aggiornamento avviene sovrascrivendo i file di Zikula, tutti o solo quelli che sono stati modificati, di conseguenza se avete apportato delle modifiche ai file, ogni volta che effettuate l'aggiornamento sarete costretti a replicarle. Basti pensare all'ipotesi in cui le modifiche siano tante o che dobbiate modificare più siti per capire quanto sia importante non sottovalutare questo aspetto. E' quindi chiaro come sia fondamentale effettuare le modifiche in modo intelligente fin da subito.
La soluzione di questo problema consiste in un corretto utilizzo del sistema di templates, plugins e hooks. Zikula infatti prevede la possibilità di avere fino a 6 livelli di template, questo significa che se volete modificare il file master.html è sufficiente che lo copiate nel livello superiore e modifichiate questa copia; in questo modo Zikula leggerà il vostro file modificato mentre l'aggiornamento sovrascriverà l'originale. Tramite plugins e hooks invece potete aggiungere funzionalità ad una pagina senza doverne modificare il codice PHP o il database.
Uno degli obiettivi principali di Zikula è proprio quello di rendere possibile la modifica di quasi qualsiasi aspetto senza dover modificare i file originali e quindi rendere più difficile il processo di aggiornamento.
Come gestire i template in modo che non vengano sovrascritti è spiegato meglio nella guida che spiega come personalizzare la grafica.
Se possibile usate moduli che utilizzino le API di Zikula
Non spiegherò nel dettaglio il perchè di questo consiglio in quanto è un argomento un po' tecnico, però sappiate che se dovete scegliere tra due moduli simili, il primo API compliant e il secondo no, generalmente è meglio utilizzare il primo. Il motivo di questo consiglio è duplice:
1. il modulo API compatibile dovrebbe essere generalmente più sicuro;
2. il modulo non API compatibile è molto più probabile che in seguito all'aggiornamento del CMS non funzioni o abbia dei problemi;
Come infatti già saprà chi ha esperienza con i CMS una delle situazioni più frequenti è che in seguito all'aggiornamento un modulo smetta di funzionare parzialmente o completamente. Utilizzare un modulo API compatibile dovrebbe far diminuire drasticamente questa possibilità.
Con questo non intendo dire che dobbiate scartare a priori un modulo non-API compatibile! Ci sono degli ottimi moduli che per ovvi motivi non possono essere API compatibili eppure fanno egregiamente il loro lavoro. Il mio consiglio è semplicemente di tenere conto anche di questo fattore.