Sono al mio terzo esperimento in locale, prima di passare alla costruzione del mio sito in produzione, vorrei chiarirmi un paio di cose:
1. Le modifiche ai file .css sia del mio template che di moduli aggiuntivi tipo Views è opportuno farle direttamente sul file originale all'interno della cartella del modulo o sarebbe meglio creare una cartella custom dove inserire tutte le modifiche e aggiunte? Se la seconda scelta è migliore, come posso creare un file .css e collegarlo ad esempio al css di Views?
2. Il mio terzo sito in prova in locale si è appesantito molto, l'attesa per caricare una qualsiasi pagina è aumentata parecchio. Ho installato, provato, disinstallato moltissimi moduli, questa può essere la causa? Mi potreste dare qualche consiglio per pulire/velocizzare il sito?
Ciao,
provo ad aiutarti con la piccola base di capacità ed esperienza che ho acquisito:
1. non è consigliato modificare nessun file all'interno dei moduli, se non necessario per il funzionamento (patch), ne tantomeno del core del sistema. questo perchè in fase di aggiornamento di entrambi i casi, potresti perdere le tue modifiche oltre che causare malfunzionamenti.
Se devi migliorare i css ti conviene farlo dal tema che utilizzi, sovrascrivendo le regole già presenti (moduli/temi)...
Per collegare un css(precisiamo "classe di css") alla view esiste un campo apposito per la vista in generale (lo trovi sulla colonna di destra sotto "impostazioni avanzate" o qualcosa di simile(non ricordo il nome scusami))..
in più puoi assegnare una classe in fase di output ad ogni campo che utilizzi nella vista, oltre che a specificare un contenitore (div,span,h1,..).
2. da vedere: quanti moduli hai installato, quanti contenuti, quanti utenti, che regole,azioni,codici "girano".. in più cosa fondamentale che server web/sistema si ha a disposizione e con che caratteristiche...
Per velocizzare il sito Drupal mette già a disposizione l'utilizzo della cache ("configurazione->Prestazioni") soprattutto per utenti non loggati e/o blocchi,viste (impostabili separatamente).
Inoltre puoi utilizzare vari moduli e sistemi per aumentare la capacità di utilizzare una cache del sito/webserver..vedi boost(modulo) e varnish(sistema-application accelarator).
Spero di aver detto poche cazzate..come già detto non mi reputo un esperto e manco lo sono:)!
Luca C.
Grazie delle info ;)
ad esempio, i css di views io li vorrei modificare, in questo caso come dovrei fare? Cioe' come imposto al sistema di utilizzare il css non nel modulo views ma in altra posizione?
Riguardo la cache non ho ben chiaro il funzionamento, se abilito le 4 opzioni di cache quali sono le contro indicazioni?
Il mio sito è una intranet, gli utenti sono pochi, un centinaio al massimo
Ho fatto pulizia tra i miei moduli, ed il sito si è velocizzato notevolmente, ma è bastato l'installazione di due nuovi moduli per vedere nuovamente rallentamenti..... e come se avessi ormai già installato il numero massimo di moduli che drupal riesce a gestire adeguatamente..... e ne dovrò installare ancora molti.
Sto lavorando in locale con xampp.... non immagino quando lavorerò su server web.... questa cosa mi sembra alquanto strana
non puoi, che io sappia, dirli di non utilizzare dei css (del modulo soprattutto) se non tramite qualche hack (alcune moduli/temi te lo permetto già loro di disabilitare i css del sistema)...
Puoi invece andare a sovrascrivere, come detto, le regole css che ti interessano:
esempio:
nel modulo potresti avere h1.site-name{color:red;}
te nel css del tuo tema potresti scrivere h1.site-name{color:black;}
andando a sovrascrivere quindi la regola css del modulo con una del tema..
le contro indicazioni della cache dipendono in che fase sei con il sito..in sviluppo non comprimi i css o js perchè così non puoi analizzare i file in modo pratico, la cache la disabiliti per non rischiare di vedere nodi,valori, ecc non aggiornati (soprattutto in anonimo/non loggato come utente).
cosa diversa quando il sito è online visitabile...abiliti la cache e la compressione css e js per migliorare i tempi di caricamento e del sistema stesso.
la pesantezza dipende si dai moduli a mio avviso, ovvio quanti e quali..alcuni moduli son leggerissimi o utilizzati dal sistema raramente, altri invece che son in continuo uso da parte del sistema e posso essere pesanti a livello di codice ma anche di query verso il database...
da non sottovalutare poi che tipo di macchina (server) si ha sotto.. che tipo di archiviazione e limitazioni, ecc...più o meno quanti e se riesci quali moduli hai abilitato?
che la mia esperienza mi abbia insegnato non esiste un numero massimo di moduli..almeno credo:|
esiste invece le prestazioni massime che una macchina server(intendo il sistema generale dove viene ospitato il sistema drupal)..spiego: un hosting a basso prezzo non può avere le stesse prestazioni o qualità di una vps, di un server dedicato, ecc... ovvio che se ho bisogno di "potenza" devo salire la scala (anche di prezzi) per poter far girare il tutto..
Grazie mille dei consigli ;)
Questo è l'elenco dei moduli che attualmente ho installato ed attivato:
Advanced help
Advanced help example
Automatic Nodetitles
Edit Limit
Entity API
Entity tokens
Google Chart Tools for Drupal
Image Zoom
JavaScript callback handler
JW Player
Libraries
Simple hierarchical select
Special menu items
Token
Administration menu
AudioField
Field Permissions
Chart API Views Integration
Google Chart Tools
Google Chart Tools Example
Google Chart Tools Views Integration
Charts and Graphs
Charts and Graphs: amCharts
User Permissions
Date
CKEditor
jQuery Update
Lightbox2
Superfish
File entity
IMCE
Media
Video
MediaFront
Panels
Rules
Chaos tools
Panels
Taxonomy Manager
FooTable
Views
Ne ho altri non attivi, installati per prova, credo che non dovrebbero influenzare sulle prestazioni i moduli non attivi.
Riguardo la velocità, credo che in locale sia più veloce di qualsiasi server, un i3 4GB di RAM.
Cosa mi consigli come macchina server? Ho la possibilità di poter scegliere che macchina virtualizzarmi sul server.
Riguardo la cache, di utenti anonimi non ce nè, il sito è consultabile solo dagli utenti della intranet, le opzioni sono 2: cache di pagine per anonimi (credo che non mi interessi) e cache dei blocchi. Poi c'e' la durata minima e massima. In questo lasso di tempo on vengono visualizzati nuovi contenuti? Se metto cache minima 2 ore ad esempio, significa che una volta caricata la pagina in cache i nuovi contenuti non saranno visualizzati prima di 2 ore? Quindi in un sito dove continuamente si inseriscono nuovi contenuti l'impostazione della cache dovrebbe essere settata su nessuno?
Invece per i blocchi, che uso solo come filtri per views, posso mettere cache massima?
Non conosco tutti i moduli, ma non credo siano pesantissimi, credo perchè non li conosco tutti..
Non mi occupo di macchine server e quindi tocchiamo un campo che a malapena posso sapere qualcosa..so di certo che non conta solo caratteristiche come processore e ram ma anche i dischi che si utilizzano e le varie impostazioni tra webserver e database (es:apache e mysql)..e molto altro..
Vero che una server locale a mio avviso è meno si esposto ad uno stress come averlo online ma è anche, proprio per il punto di prima, meno ottimizzato a volte..
Spero che nella discussione entri qualcuno che ne sappia di più su queste cose perchè io mi devo fermare qui..:(
Quando un utente è loggato il processo di cache non dovrebbe essere attivo: mi spiego: io utente loggato nel sito visitandolo il sistema non dovrebbe andare a prendere i dati dalla cache ma percorre il codice ricavando i dati dal database (cioè i dati effettivi e non memorizzati in cache)..(faccio schifo con le spiegazioni:(, porta pazienza )..
ti rimando a questo link del forum: http://www.drupalitalia.org/node/7488
spero ti sia più utile delle mie parole crociate:D
Ci dovrebbero essere altre discussioni poi nel forum..prova a vedere se ne trovi;) infine se mastichi l'inglese anche una lettura sul sito ufficiale potrebbe chiarirti le idee..
OK, quindi la cache serve solamente per gli utenti non registrati. Nel mio caso, dove io non ho utenti non registrati, la cache non serve a nulla?