Ecco Una raccolta delle domande più frequenti che vengono fatte sul forum
L'elenco è in continua crescita.
Se in queste pagine trovi delle risposte che non ti soddisfano, chiedi uteriori spiegazioni sul forum.
Se vuoi collaborare alla creazione della documentazione contattaci!
Qui sono elencate alcune informazioni per chi non sa se scegliere Drupal o altri CMS.
Drupal è un gestore di contenuti o CMS (Content Management System). Questo significa che è concepito per la realizzazione di qualsiasi sito, statico o dinamico, basato sulla logica contenuto/commenti.
Alcuni esempi di siti sono riassunti qui sotto, ma il maggiore vantaggio dell'uso di Drupal si ottiene nei casi in cui è necessario combinare più contenuti eterogenei (p.e. forum con news, portale a sezioni con blog e gallerie di immagini, etc.):
Drupal è adatto a creare molti tipi di sito per renderti conto di quanto è possibile fare con drupal dai un occhiata a:
http://mtv.co.uk/ - MTV UK
http://moby.com/ - Moby Personal Website
http://www.theonion.com/ - The Onion News Site
http://www.spreadfirefox.com/ - Spread Firefox
http://asia.playstation.com/ - Asia Playstation
http://www.ringostarr.com/ - Ringo Star Web Site
http://teen.secondlife.com/ - Second Life: Teen
http://theworld.org/ - The World
http://www.airamerica.com/ - Air America Radio
http://www.linuxjournal.com/ - Linux Journal
http://indymedia.be/ - Indymedia Belgium
http://www.nowpublic.com/ - Now Public
http://appel.nasa.gov/ - Nasa Academy of Program
[Informazioni tratte da un caso di utilizzo reale, descritto originariamente in questa discussione: http://www.drupalitalia.org/node/5441]
Legge Stanca e accessibilità dei siti scolastici.
Drupal si presta molto bene per la legge Stanca ed è un'ottima scelta per le scuole:
Diciamo che tutte le tecniche di posizionamento possono essere tranquillamente applicate utilizzando la piattaforma Drupal più alcuni moduli aggiuntivi. Poi sta alla bravura e all'esperienza di ognuno applicare tali tecniche.
Drupal, nella sua installazione di base, fornisce già tre moduli che si rivelano importantissimi in relazioni ai motori di ricerca: il modulo log, il modulo taxonomy e il modulo path.
Esistono poi una serie di moduli aggiuntivi che possono "potenziare" Drupal in modo da farlo collaborare meglio con i motori di ricerca (suprattutto con Google) e che possono permetterci di concentrarci sulle tecniche che vogliamo adottare per i motori di ricerca.
Ecco i moduli che possono essere utili:
- pathauto
- Google Analytics
- Google Page Rank
- Google Verify
- XML Sitemap (Google Sitemap)
- Node (key)words
- Page Title
Problematiche relative all'installazione di Drupal.
Per installare drupal avrai bisogno di:
Autori: Derek, Psicomante.
Domande frequenti sui moduli.
Discussione affrontata recentemente:
Sito di video stile youtube
Ricerchi una funzione particolare per la tua installazione di Drupal? Potrebbe essere qui la risposta ai tuoi problemi.
Il modulo per creare una tabella accessi per i gruppi di utenti in base alla tassonomia si chiama taxonomy_access. Un'alternativa è Taxonomy Access Control Lite.
Specifico per i forum invece è Forum Access.
Una interessante discussione sull'accesso a determinate categorie solo per alcuni gruppi di utenti si può trovare sul blog di Lullabot.
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.
Molte volte questo è un problema di memoria, Drupal in questa pagina carica tutti moduli compresi quelli disattivati e quindi ha bisogno di molta memoria.
La gestione della memoria allocata è fatta dal PHP quindi ci sono due soluzioni:
Nel'allocare più memoria tieni presente che questa è un parametro critico per il server ed un impostazione troppo generosa metterà in gravi condizioni il tuo server se questo si troverà ad affrontare molte richieste simultanee.
Se non riuscite ad entrare nella pagina di amministrazione dei moduli un metodo per disabilitare temporaneamente un modulo è quello di accedere al DB dal pannello phpmyadmin e agire sulla tabella system andando a portare (per i moduli che si vogliono disabilitare) il valore della colonna status su 0.
Problemi su quale hoster scegliere? Meglio Linux o Windows? Queste FAQ potrebbero aiutarti.
Tutte le versioni di Drupal (4.x - 4.6,4.7 e 5.x - 5.0,5.1) su Altervista possono essere installate senza problemi particolare, a patto di non avere abilitato la Cache. Il modulo di apache che la gestisce su Altervista fa memorizzare grezzamente i dati compressi, creano una pagina piena di caratteri incomprensibili, che non possono far vedere il sito.
Loggandosi tutto torna alla normalità semplicemente perchè non viene usata la Cache per mostrare le pagine. Per risolvere il problema, se si è loggati, disabilitare la cache, altrimenti andare sul database, meglio se su PHPmyAdmin e SVUOTARE la tabella cache (non cancellarla!). Loggarsi quindi immediatamente e disabilitare la cache da /admin/settings.
Altro metodo non testato, è quello di non usare i Clean URL. Quindi la procedura è:
In questa sezione vengono raccolte le più comuni domande sui temi di drupal, nella sezione si cerca di comprire tutti gli argomenti: reperimento, installazione e modifica.
Per temizzare la image gallery di drupal 6 è necessario creare il file "image_gallery.tpl.php" e copiarlo sotto il proprio tema.
All'interno del file scriveremo il seguente codice:
<?php
$size = image_get_sizes('thumbnail');
$width = $size['width'];
$height = $size['height'];
drupal_add_css(drupal_get_path('module', 'image_gallery') .'/image_gallery.css');
$content = '';
if (count($galleries)) {
$content.= '<ul class="galleries">';
foreach ($galleries as $gallery) {
$content .= '<li class="clear-block">';
if ($gallery->count)
$content .= l(image_display($gallery->latest, IMAGE_THUMBNAIL), 'image/tid/'. $gallery->tid, array('html' => TRUE));
// $content.= l(image_display($gallery->latest, 'thumbnail'), 'image/tid/'.$gallery->tid, array(), NULL, NULL, FALSE, TRUE);
$content.= "<h3>".l($gallery->name, 'image/tid/'.$gallery->tid) . "</h3>\n";
$content.= '<div class="description">'. check_markup($gallery->description) ."</div>\n";
$content.= '<p class="count">' . format_plural($gallery->count, 'There is 1 image in this gallery', 'There are @count images in this gallery') . "</p>\n";
if ($gallery->latest->changed) {
$content.= '<p class="last">'. t('Last updated: @date', array('@date' => format_date($gallery->latest->changed))) . "</p>\n";
}
$content.= "</li>\n";
}
$content.= "</ul>\n";
}
if (count($images)) {
$height += 5;
$content = 'this is the list of galleries<br><br>';
$content.= '<ul class="images">';
foreach ($images as $image) {
$content .= '<li';
if ($image->sticky) {
$content .= ' class="sticky"';
}
$content .= " style='height : ".$height."px; width : ".$width."px;'>\n";
$content .= l(image_display($image, IMAGE_THUMBNAIL), 'node/'. $image->nid, array('html' => TRUE));
$content .= '<h3>'. l($image->title, 'node/'. $image->nid) .'</h3>';
if (variable_get('image_gallery_node_info', 0)) {
$content .= '<div class="author">'. t('Posted by: !name', array('!name' => theme('username', $image))) ."</div>\n";
if ($image->created > 0) {
$content .= '<div class="date">'. format_date($image->created) ."</div>\n";
}
}
$content .= "</li>\n";
}
$content.= "</ul>\n";
}
if ($pager = theme('pager', NULL, variable_get('image_images_per_page', 6), 0)) {
$content.= $pager;
}
If (count($images) + count($galleries) == 0) {
$content.= '<p class="count">' . format_plural($gallery->count, 'There is 1 image in this gallery', 'There are @count images in this gallery') . "</p>\n";
}
print $content;
?>
In questo modo, al momento di visualizzare la galleria, verrà richiamato il codice sopra, che provvede a temizzare il tutto.
Dobbiamo fare due considerazioni:
1) non essendo obbligatorio, fornire la lunghezza e l'altezza per le anteprime (thumbnail), potremmo avere un valore falsato nella variabile $width o $height. Tenetene conto, facendo voi un calcolo su una anteprima oppure mettendo un semplice if tipo:
<?php
if ($height=='') $height = 150;
?>
<?php
$size = image_get_sizes('thumbnail');
$width = $size['width'];
$height = $size['height'];
?>
2) L'istruzione drupal_add_css(drupal_get_path('module', 'image_gallery') .'/image_gallery.css'); carica un css esterno, che andrà posto sotto il proprio tema. Nel mio caso son partito dal vecchio esempio della 4.7, che trovate sotto:
ul.galleries {
list-style-type : none;
margin : 0;
padding : 0;
}
ul.galleries li {
position : relative;
background : #eeeeee;
border : 1px #cccccc solid;
margin : 1em 0;
padding : 1em;
}
ul.galleries li img {
float : left;
position : relative;
padding-right : 4px;
margin-right : 4px;
}
ul.galleries li .count,
ul.galleries li .last {
clear : left;
margin : 0;
padding : 0;
font-style : italic;
}
ul.galleries h3 {
margin : 0;
padding : 0;
}
ul.images {
list-style-type : none;
margin : 0;
padding : 0;
}
ul.images h3 {
font-size:1em;
padding : 0;
}
ul.images li {
float : left;
margin : 1em;
background: transparent;
}