In questa sezione si possono trovare le domande più comuni sull'amministrazione di Drupal, se non trovi la risposta alla tua domanda usa l'aposito forum.
Revisione maggiore: come aggiornare drupal da una versione X.n ad una Y.t.
Esempio, come posso aggiornare Drupal dalla versione 4.7.6 alla versione 5.2?
Il procedimento non è molto complesso. Tuttavia bisogna premettere che passare da una versione 4.xx ad una versione 5.xx, cioè una revisione di tipo massimo, i moduli precedentemente creati per la 4.xx non gireranno più correttamente su una 5.xx
Il procedimento da fare è quindi:
Revisione minore: come aggiornare drupal da una versione X.n ad una X.t, dove t>n
Esempio, come posso aggiornare Drupal dalla versione 6.6 alla versione 6.8
Il procedimento da fare è quindi:
Vai alla pagina www.sito.it/?q=user e loggati come amministratore.
Poi vai alla pagina www.sito.it/?q=admin/block e abilita il blocco "login".
Può succedere a volte che esportando drupal da uno spazio web ad un altro vi siano sull'ultimo dei problemi nella visualizzazione dei caratteri (di solito lettere accentate) o che semplicemente il database mysql ritorni un errore simile al seguente:
"Illegal mix of collations (utf8_general_ci,COERCIBLE) and (latin1_swedish_ci,IMPLICIT) for operation"
In questi casi il problema è quasi sicuramente da imputare alla collation.
Una breve introduzione: set di caratteri e collation
Un set di caratteri è un sistema col quale i diversi caratteri e simboli vengono memorizzati su un computer con un valore binario. In un insieme di caratteri (set di caratteri) un valore binario corrisponde quindi ad un simbolo preciso. Ad esempio possiamo avere un alfabeto composto da due lettere: "A", "a". A queste due lettere assegnamo un numero: "A" = 0, "a" = 1. La "A" è un simbolo e lo 0 è la codifica per tale simbolo. La "a" è un altro simbolo e la sua codifica è 1. La combinazione di queste due lettere e delle rispettive codifiche è un set di caratteri. MySQL dalla versione 4.1 possiede un supporto molto avanzato ai set di caratteri; è infatti possibile gestire i set di caratteri a livello server, database, tabella e colonna, client e connessione.Una collation è invece un insieme di regole utilizzate per confrontare i simboli che fanno parte di un set di caratteri. Collation si traduce con collazione, che significa confronto.Ad esempio possiamo fare in modo che "A" sia uguale ad "a". In questo caso dovremmo avere almeno due regole:
Abbiamo applicato una collation (confronto) non sensibile alle maiuscole.
Se con PhpMyAdmin vedete la seguente dicitura sotto la voce collation: latin1_general_cs vuol dire che si sta utilizzando il set di caratteri latin1, che tale collation è multilingua (general) e che tale collation considera come differenti le lettere maiuscole e minuscole (cs: case sensitive).
Le operazioni da fare per esportare il sito (files e database).
Supponiamo che abbiate un sito web in locale e che tale sito contenga già contenuti, moduli aggiuntivi e magari un tema che avete costruito appositamente. Ora per esportare il tutto online occorre esportare il database e caricare tutti i files del sito da locale a remoto.
Ecco la procedura da eseguire:
CHMOD -R 777 /tua_cartella_drupal/files/
)"Illegal mix of collations (utf8_general_ci,COERCIBLE) and (latin1_swedish_ci,IMPLICIT) for operation"
Mi è capitato una volta di dover migrare un sito web basato su drupal da un server MySQL 3.23 ad un server MySQL 4.1. Avevo ottenuto degli errori nella collation. Questo perchè MySQL 4.1 utilizza una collation predefinita che Drupal invece non utilizza. Le tabelle stanno utilizzando la collation latin1_swedish_ci e la connessione impostata da Drupal sta utilizzando invece utf8_general_ci.Per risolvere il problema, la collation su ogni tabella deve essere uft8_general_ci.
Alcune query utili
Per cambiare il set di caratteri:
ALTER DATABASE drupal_database CHARACTER SET utf8;
Per cambiare la collation:
ALTER DATABASE drupal_database COLLATE utf8_general_ci;
Per cambiare set di caratteri e collation ad una tabella
ALTER TABLE drupal_table CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
Drupal può ridefinire le variabili staticamente, basta che dai un nuovo valore alla variabile nel tuo settings.php
<?php
/**
* Variable overrides:
*
* To override specific entries in the 'variable' table for this site,
* set them here. You usually don't need to use this feature. This is
* useful in a configuration file for a vhost or directory, rather than
* the default settings.php. Any configuration setting from the 'variable'
* table can be given a new value.
*
* Remove the leading hash signs to enable.
*/
$conf = array(
'default_nodes_main' => 1000,
);
?>
Grazie ad Ainur.