Le FAQ di Drupal Italia

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!

Drupal è quello che mi serve? (Informazioni generali su Drupal)

Qui sono elencate alcune informazioni per chi non sa se scegliere Drupal o altri CMS.

Che tipo di siti si possono realizzare con drupal?

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 blogg e gallerie di immagini, etc.):

  • semplici siti statici: ovvero siti costituiti da sole pagine statiche (i più semplici). Sono esempi di questo tipo siti personali, siti istituzionali, cataloghi, etc.
    Utilizzando il sistema di categorizzazione di Drupal è possibile strutturare il proprio sito in modo semplice e efficace. L'amministratore (o un utente abilitato) può ampliare o modificare i contenuti in qualsiasi momento.
  • blog: i blog sono diari online, ordinati cronologicamente e basati su un sistema messaggio/commenti. Drupal gestisce nativamente questo tipo di contenuti. Drupal può essere la soluzione per realizzare un sito che contenga il blog vostro e dei vostri amici, o per andare oltre le possibilità dei normali contenitori di blog (splinder, livejournal, etc.). Alcuni importanti blog italiani sono stati realizzati su piattaforma Drupal.
    Il maggiore vantaggio di Drupal è la possibilità di integrare il proprio blog con altri tipi di contenuto (news, forum, sezioni a tema). Per scrivere un blog, o per lasciare commenti, dovete essere registrati al sito Drupal o a un sito affiliato. La possibilità di commentare utilizzando l'accountg di altri gestori di blog è in corso di estensione.
  • forum: se desiderate qualcosa di più originale del solito phpbb, o un sito più complesso, che integri per esempio news, contenuti di diverso tipo, possibilità di pubblicare in homeg page i messaggi degli utenti, Drupal è la scelta giusta.
    I forum sono gestiti nativamente, come un tipo particolare di contenuto. Sono disponibili tutte le funzionalità di pubblicazione, moderazione, gestione di commenti e utenti.
    Configurando adeguatamente il sito, è possibile aprire uno o più forum come sezioni del proprio sito Drupal, separate ma nativamente integrate con il resto del sito.
  • gallerie di immagini: Drupal gestisce le gallerie di immagini attraverso il modulo aggiuntivo image. E' possibile creare gallerie complete di anteprime, categorizzate per tipologie.
  • portali: Un portale web è un sito web che costituisce un punto di partenza, una porta di ingresso ad un gruppo consistente di risorse di Internet o di una intranet (da Wikipedia)
    Il principale vantaggio di un CMS come Drupal è la possibilità di gestire in modo integrato contenuti diversi. Drupal consente di realizzare un portale che integri in modo ordinato le varie funzionalità: news, rimandi ad altri siti, sezioni tematiche etc. Il supporto di fonti RSS consente di accogliere e pubblicare in modo automatico gli aggiornamenti di siti che mettono a disposizione questa funzionalità.
    La struttura modulare di Drupal consente di integrare nuove funzionalità utilizzando moduli già esistenti (vedi lista) o moduli appositamente sviluppati.
  • altri siti: la lista delle diverse tipologie di sito realizzabili potrebbe essere molto lunga, dal blog personale con galleria di immagini alla intranet aziendale. Il consiglio è provare Drupal in tutti i casi in cui è necessario realizzare rapidamente un sito per la gestione di un sistema di contenuti/commenti con contenuti di tipologie eterogenee.

Drupal è gratuito? come è possibile?

Drupal è un progetto Open Sourceg, sviluppato e distribuito ai sensi della licenza GPL.

Questo significa che può essere utilizzato, distribuito e modificato a fini sia personali che commerciali. Può anche essere venduto: l'unica condizione è che chi utilizza il software di base di Drupal debba rendere disponibili eventuali modifiche alla communityg degli sviluppatori.

Sul "software libero" ci sarebbe molto da dire, il concetto di base è che lo sviluppo di un software può essere uno sforzo collaborativo, che porta un guadagno comune: per questo il codice di Drupal è gratuito e lo resterà in futuro.

Un paragone comune è quello della musica: è come se diversi compositori, in diverse parti del mondo, si accordassero per scrivere la migliore canzone possibile, e la distribuissero liberamente, per cantarla per sè o per guadagnare dai propri concerti.

Il software libero è spesso software di ottima qualità: lo prova l'interesse crescente dei maggiori produttori di software a livello mondiale.

Sull'argomento vedere per esempio Wikipedia.

Chi realizza Drupal? come lo ottengo?

Drupal è realizzato e costantemente aggiornato dall'apposita fondazione.

I diversi componenti sono liberamente scaricabili e utilizzabili.

In inglese:

In italiano:

Per altre traduzioni o moduli in italiano consultare questa pagina: download

Con drupal posso realizzare un sito aziendale?

Drupal è un CMS ma anche un CMF ovvero un ambiente di sviluppo per applicazioni Web; questo fa si che normalmente si possano costruire siti anche complessi come un sito aziendale senza il bisogno di toccare del codice.

Nel caso non si trovassero i moduli sperati, costruirli partendo da quelli esistenti è un operazione fattibile proprio perchè drupal è anche un CMF.

Dove trovo degli esempi di siti realizzati con drupal?

Drupal è adatto a creare molti tipi di sito per renderti conto di quanto è possibile fare con drupal dai un occhiata a:

Dove trovo supporto una volta installato drupal?

Il supporto per gli utenti in italiano può essere trovato sul forum di Drupalitalia. É inoltre disponibile il forum internazionale di Drupal.

Drupal è adatto per i motori di ricerca?

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 logg, il modulo taxonomyg e il modulo pathg.
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

Drupal è ideale solo per i programmatori o anche per i web designer?

--IN COSTRUZIONE--

Drupal è scalabile?

Drupal è facilmente scalabile.

Drupal è sicuro?

Un gruppo di sviluppatori del progetto è attivo nel cercare vulnerabilità ed eventuali exploit che minacciano la sicurezza del CMS. Vengono rilasciate patch in breve termine, non appena il bug viene scoperto.

Inoltre chiunque può segnalare bugs ed problemi di sicurezza tramite l'apposito sistema integrato in Drupal.org.

Tieniti sempre aggiornato sulle ultime versioni rilasciate (stabili) su Drupal.org, e aggiorna sempre non appena puoi. Di solito è meglio non aggiornare i siti alle versioni "Beta" e "Release Candidate".

Drupal gestisce bene gli utenti e i permessi?

Drupal è il CMS più potente in questo ambito. Consente di creare ruoli utenti per farli accedere solo a certe aree del sito, settare i permessi con minuziosità crescente, impostare moderatori, amministratori e redattori, etc.

Drupal mi permette di categorizzare i contenuti?

Certo, Drupal consente la categorizzazione dei contenuti attraverso la cosiddetta taxonomyg. Ogni contenuto (blogg, forum, immagine, libro) può appartenere ad una o più categorie, ed ogni categoria può essere figlia di una o più categorie.

E' supportato anche il freetagging, cioè la categorizzazione libera di un contenuto, inserendo alla creazione una lista di parole che andranno a costituire le categorie a cui appartiene il contenuto. Drupal creerà le categorie per te.

Drupal mi permette di sviluppare delle applicazioni?

In Drupal è integrato un sistema di API che consente facilmente di creare moduli ad hoc per qualsiasi esigenza.

Drupal rispetta l'accessibilità?

Il codice di markup è controllabile attraverso il livello di presentazione di Drupal, ovvero il tema.
L'accessibilità di un sito realizzato utilizzando Drupal dipende dal tema che utilizza il sito stesso. E' possibile realizzare un tema accessbile.
Drupal rispetta le WCAG 1.0 e la Section 508.

Drupal supporta l'ecommerce?

Si, esiste un modulo adatto a creare un sito di eCommerce.

http://drupal.org/project/ecommerce

Potrebbero esserti utili alcuni moduli quali il Paypal Framework, MeCommerce, Quickfile

Posso personalizzare la grafica del mio sito Drupal?

Drupal è un CMS giovane e potente, fà della sua facilità di modifica un suo punto di forza e quindi anche l'aspetto grafico è completamente gestibile.
L'aspetto grafico è molto importante e per questo Drupal nasce con alcuni temi classici da cui si traggono idee per nuovi!!
Ricordiamo inoltre che la comunity è effervescente e quindi si possono trovare in rete molti temi già pronti per il nostro sito.

Quale è la curva di apprendimento di drupal?

La curva di apprendimento non è delle più facili in Drupal. Bisogna prendere confidenza con un sistema così complesso prima di usarlo per un sito vero e proprio.

Provatelo sul vostro pc, installando EasyPHP 1.7 [FAQ di riferimento]

Installazione

Problematiche relative all'installazione di Drupal.

Installazione: Requisiti

Per installare drupal avrai bisogno di:

  1. Un Web Server che possa eseguire script PHP
    • Consigliato: Apache. Lo sviluppo di Drupal viene fatto sulla versione 1.3.x. Drupal puo' essere installato anche su 2.0.x.
    • Opzionale: IIS. Drupal viene sviluppato per essere compatibile con IIS: IIS5 e IIS6 andranno bene se si possiede un ambiente PHP configurato correttamente.
  2. PHP
    • A partire da Drupal 4.6, il CMS richiede la versione 4.3.3+ (PHP 5 è supportato dalla release 4.6). Drupal dalla 4.2 to 4.5.2 richiedono PHP versione 4.1+. Le versioni più vecchie di Drupal gireranno su PHP 4.0.6+. Ti raccomandiamo di utilizzare l'ultima versione di PHP 4.x.
    • PHP XML extension (for blogapi, drupal, and ping modules). Questa estensione è abilitata di default inuna installazione PHP standard; anche la versione windows di PHP ha il support built in all'estensione.
    • PHP con una memoria di 8MB per una installazione di Drupal. Se installi moduli aggiuntivi dovrai aumentare la tua memoria PHP.
    • PHP necessita le seguenti direttive di configurazione per far funzionare Drupal:
    • Queste impostazioni sono contenute nel file .htaccess distribuito con Drupal, quindi non dovrebbe essere necessario impostarle manualmente. Nota, comunque, che impostare le opzioni di configurazioni PHP tramite .htaccess funziona solamente:
      • con Apache (o un webserver compatibile),
      • se il file .htaccess viene letto dal server, es. AllowOverride non è None,
      • se PHP è installato come modulo Apache.
    • Sono disponibili ulteriori informazioni su come cambiare le impostazioni per altre interfacce a PHP.
  3. Un database supportato da PHP
    • Raccomandato: MySQL, v3.23.17 o successive (per l'utilizzo di INNER JOIN's with join_condition's). MySQL 4 e 5 sono compatibile.
    • Drupal utilizza alcune caratteristiche avanzate non disponibili in alcuni piani di hosting a basso prezzo, ad esempio LOCK TABLE.
    • Disponibile dalla versione 4.7: PostgreSQL, versione 7.3 o successiva. Esperienze con altri database sono benvenute.

Come avviare l'installer di Drupal in modo che selezioni automaticamente la lingua italiana?

  1. Scarica l'ultima versione di Drupal e il pacchetto di traduzione italiana dalla pagina di Download.
  2. Estrai i due file compressi, e metti il contenuto del coreg di Drupal in una cartella del tuo server.
  3. Copia il file installer.po in "profiles/defaultg" e rinominarlo in it.po.
  4. Installa Drupal in base al tipo di piattaforma che si utilizza, tramite il browser andare all'URL dove si è installato il CMS.
  5. Nella schermata che apparirà, selezionare "Italiano" e cliccare su "save configuration".
  6. Procedere con l'inserimento dei dati per la configurazione del database.
  7. A questo punto dopo aver creato l'utente per l'amministrazione, è possibile importare il file it.po (admin/settings/localeg/languageg/import). Il modulo "locale", viene abilitato automaticamente.

Autori: Derek, Psicomante.

Installazione di Drupal 5.x - Scacco matto a Drupal 5.x in 6 mosse

Questo piccolo HowTo è un esempio di come sia possibile avere un drupal per fare le prove in meno di 5 Minuti!!

Metodo 1: XAMPP
Con l'avvento delle memorie flash si è visto il proliferare di applicazioni che girano direttamente dalla memoria USB di turno senza la necessita di installazione; una delle tante è XAMPP, un web server completo di tutto il necessario per far girare drupal.
XAMPP è un progetto open basato su Apache ed incorpora PHP e Mysql.

La procedura per ottenere un sistema performante e perfettamente configurato è velocissima:

  1. andare su http://www.apachefriends.org/en/xampp.html e prelevare XAMPP lite per la propria piattaforma (ha tutto ciò che serve ai nostri scopi). Seguire la guida per l'installazione sul proprio sistema operativo:
  2. Avviare XAMPP con i relativi servizi, apache e mysql
  3. Copiare drupal 5.x decompresso nella cartella X:\xampplite\htdocs\Drupal5.x
  4. andare su http://127.0.0.1/phpmyadmin/ e creare un db vuoto
  • Avviare il browser andando su http://127.0.0.1/Drupal5.x e configurare Drupal!!
  • Il sistema è pronto e non ci resta che fare tutte le prove che vogliamo con il nostro drupal nuovo!!

    Accorgimenti/Problemi noti:

    • APACHE non parte!!! Qualche volta la porta 80 è occupata da altre applicazioni Server come IIS, Skype, MSN chiudetele o cercate nelle relative configurazioni la maniera di cambiar loro la porta
    • Problemi all'avio di ApacheSe all'avvio apache segnala anomalie controllate di aver messo XAMPP nella root del disco e non dentro una sottocartella
    • Ho cambiato la passwordg di root in Phpmyadmin e non riesco a rientrare Dentro la cartella di phpmyadmin c'è un file di nome config.inc.php dentro vi è la password utilizzata per il loging di phpmyadmin
      • Metodo 2: Bitnami
        Per chi volesse avvicinarsi a drupal per la prima volta e non volesse installare e configurare programmi come XAMPP o EasyPhp per poi configurare le utenze DB e Drupal esiste una soluzione ad-hoc. dal sito: http://bitnami.org/

        scaricatevi il pacchetto per drupal:
        http://bitnami.org/stack/drupal

        presente in diverse versioni in funzione del SO su cui deve girare il tutto e la versione di Drupal che volete testare.

        Drupal è installato in /cartella-installazione/apps/drupal/htdocs.
        Per accedere al server appena installato andare in http://127.0.0.1:8080/

        In Linux per avviare il servizio o fermarlo bisogna prima di tutto dare i permessi di esecuzione allo script ctlscript.sh e poi in una shell scrivere:

        ./ctlscript.sh start
        ./ctlscript.sh stop

    Installazione: Come faccio a spostare Drupal da locale a remoto?

    Per spostare drupal dal localeg sul server definitivo è consigliato usare la procedura:

    1. crea un backup del db locale
    2. svuota la tabella cache del db locale!
    3. crea un nuovo backup di tutto il db
    4. Copia tutti i file locali sul server
    5. Ripristina il backup del punto 3 sul server finale
    6. modifica il file della configurazione di drupal (DB/passwd/user/IPserver)
    7. Usa drupal

    I passaggi 1 e 2 sono caldamente consigliati ma non indispensabili, spesso la tabella cache contiene dati che nella migrazione danno problemi.

    Se incontri problemi al punto 5 prova a dividere il db in più pezzi ripristinando la cosa per gradi.

    Installazione: Ma il cron serve a qualcosa?

    Si, il Cron (cron.php) serve per effettuare molte operazioni necessarie e ripetitive.

    Quelle predefinite di Drupal sono l'aggiornamento dei logg con relativa eliminazione di dati più vecchi di un certo numero di giorni (configurabile dal pannello amministra > impostazioni) e l'inserimento dei nuovi contenuti alla ricerca.

    Per abiltarlo esisteno due sistemi: il primo impostando l'operazione di aggiornamento direttamente dal pannello di configurazione del sito (non tutti gli host lo permettono) e il secondo, il più semplice, è installare il modulo poormanscron che si occupa di lanciare lo script dopo un certo intervallo di tempo stabilito dall'utente.

    Installazione: Quale versione di Drupal usare

    Drupal è un CMS/CMF Open sorce in continua evoluzione, la cumunità che lo supporta è vasta e sempre pronta a migliorarlo.
    Se vuoi iniziare ad usare Drupal il consiglio è di usare una versione stabile:

    Al momento la versione stabile è la 5.7 prelevabile QUI

    Considerando il fatto che Drupal è in continua evoluzione è caldamente consigliato utilizzare la versione corrente e non una versione precedente perchè i moduli spesso sono sviluppati ed ottimizzati solo per la versione corrente!

    La versione corrente è la 5.7 (Ramo 5 e livello di patch 7) ma in cantiere c'è gia la 6.0 RC3

    Amministrazione

    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.

    "Story" & "Page" e relative descrizioni non sono state tradotte

    le stringhe:
    Page : If you want to add a static page, like a contact page or an about page, use a page. e
    Story : Stories are articles in their simplest formg: they have a title, a teaser and a body, but can be extended by other modules. The teaser is part of the body too. Stories may be used as a personal blogg or for news articles
    non vengono tradotte. Come mai?

    Queste stringhe sono contenute nel file system-install.po. Sono aggiunte nel database al momento dell'installazione di Drupal. Se l'installazione è stata effettuata in inglese, allora quelle stringhe saranno in quella lingua; in altre se l'installazione è stata eseguite in una delle altre disponibili. Per installare Drupal in una lingua precisa seguire la FAQ come installare Drupal con il profilo italiano.

    Per tradurle, vai nella pagina dei tipi di contenuto (/admin/content/types) e modifica la descrizione del nodo page o story.

    Come si aggiorna Drupal?

    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:

    1. Fare un backup dell'intero sito tramite FTP (consiglio FileZilla per l'immediatezza).
    2. Fare un backup del database su cui è installato Drupal (fatelo tramite il vostro hoster, probabilmente userete phpMyAdmin).
    3. Disabilitate tutti i moduli e i temi aggiuntivi che avete installato e abilitato.
    4. Spostate il contenuto del vostro vecchio sito in una sotto cartella.
    5. Copiate il contenuto del file Drupal-5.xx.tar.gz scaricato da Drupal.org.
    6. Copiate le informazioni dal file di backup settings.php su quello nuovo, presente in /sites/default/settings.php.
    7. Puntate il vostro Browser (possibilmente Gecko-based od Opera) a www.sito.it/update.php (dove sito.it è l'URL dove avete installato Drupal).
    8. Eseguite il processo di aggiornamento.
    9. Se non vi da' errori potete scaricare tutti i moduli che usavate nella vecchia installazione ed abilitarli.

    Revisione minore: come aggiornare drupal da una versione X.n ad una X.t, dove t>n
    Esempio, come posso aggiornare Drupal dalla versione 5.1 alla versione 5.2

    Il procedimento da fare è quindi:

    1. Fare un backup dell'intero sito tramite FTP (consiglio FileZilla per l'immediatezza).
    2. Fare un backup del database su cui è installato Drupal (fatelo tramite il vostro hoster, probabilmente userete phpMyAdmin).
    3. Copiate il contenuto del file Drupal-5.xx.tar.gz scaricato da Drupal.org. e sovrascriveteli con quelli vecchi.
    4. Copiate il file di backup settings.php su quello nuovo, presente in /sites/default/settings.php.
    5. Puntate il vostro Browser (possibilmente Gecko-based od Opera) a www.sito.it/update.php (dove sito.it è l'URL dove avete installato Drupal).
    6. Eseguite il processo di aggiornamento.

    Disabilitare il "Clean Url"

    Se hai abilitato il Clean Url e questo non dovesse funzionare l'accesso al tuo sito è impossibile e quindi è impossibile anche accedere alle pagine di configurazione per disabilitare il "clean url".
    Le soluzioni sono due:

    1 SQL Script da eseguire sul DB

    UPDATE variable SET value = 's:1:"0";' WHERE name = 'clean_url';
    DELETEg FROM cache;

    2 Aggiungere questa linea al file settings.php

    $conf['clean_url'] = 0;

    E' sparito il blocco per il login degli utenti. Come faccio a ripristinarlo/autenticarmi?

    Vai alla pagina www.sito.it/?q=user e loggati come amministratore.
    Poi vai alla pagina www.sito.it/?q=admin/blockg e abilita il blocco "loging".

    Gestione dei permessi

    Ho messo il sito off-line. Come faccio ad autenticarlo e a vedere il sito?

    Vai alla pagina www.sito.it/?q=user e loggati come amministratore.
    Poi vai alla pagina www.sito.it/?q=admin/settings e lì puoi disabilitare il modo offline.

    PsicoBlog

    Mi sono dimenticato la password dell'amministratore di Drupal

    Se ti sei dimenticato la passwordg per l'utente 1 (l'utente amministratore di defaultg) e il sitema mailg non funziona; esegui direttamente sul DB:

    UPDATE `users` SET pass = MD5('newpwd') WHERE uid=1;

    Sostituisci 'newpwd' con la password che preferisci.

    Problema con l'impostare le traduzioni con Drupal 4.7.4 su IIS

    Con la versione 4.7.4 di drupal molte persone si sono improvvisamente trovate nell'impossibilità di importare le traduzioni.
    Questo problema affligge tutti i sistemi windows.
    Chi è afflitto dal problema si trova un errore del tipo:

    The translation import failed, because the file could not be read.
    The translation import of failed.

    La soluzione sono due:

    1) modificare la riga del php.ini che è

    magic_quotes_gpc = On
    in
    magic_quotes_gpc = Off

    2) applicare la patch:

    Fix_Magic_Quotes

    Ulteriori informazioni disponibili su:

    http://drupal.org/node/91624

    Quale versione ho installato??

    Se non ti ricordi quale versione di drupal usi ci sono due strade per conoscere la versione che stai utilizzando:

    1. Aprire il file CHANGELOG.txt nella root del dominio
    2. Installare il modulo "systeminfo" che oltre a mostrare la versione di drupal in uso ci mostra molte informazioni sul server

    Ridefinire una variabile in Drupal: Override di variabili nel settings.php

    Drupal può ridefinire i variabili, 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.

    La pagina dove si possono attivare/disattivare i moduli appare bianca. Cosa succede?

    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:

    1. Cancellare alcuni moduli non utilizzati
    2. Aumentare la memoria che il PHP assegna agli script
      • memory_limit = 12M nel tuo php.ini file (Raccomandato se hai accesso al file)
      • ini_set('memory_limit', '12M'); nel tuo file sites/defaultg/settings.php
      • php_value memory_limit 12M nel tuo file .htaccess nella root di Drupal

    Nel tuo 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 collegati a provider/hoster (Aruba, Altervista, etc.)

    Problemi su quale hoster scegliere? Meglio Linux o Windows? Queste FAQ potrebbero aiutarti.

    Altervista: Clean URL e .htaccess, come farli funzionare.

    Per poter far funzionare .htaccess su altervista, dovete avere innanzitutto la risorsa abilitata, andare poi su gestione files e cliccare sulla icona della ghiera in alto.

    lì incollate il codice seguente.

    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ /index.php?q=$1 [L,QSA]

    e salvate. Vi consentirà di avere i clean url, per la versione 4.6.x e seguenti.

    Altervista: I ritratti ed il logo personalizzato non si vedono

    Hai caricato il logo personalizzato e i ritratti ma non si vedono. Al posto delle immagini vedi "homeg" al posto del logo e "ritratto di [nomeutente]" al posto dell'avatar /ritratto.

    Se il ritratto, per esempio, non viene visto anche tramite url:

    http://tuosito.altervista.org/files/pictures/picture-1.jpg

    Se ti dà errore 500 prova a cancellare l'.htaccess file nella Gestione Files del pannello di controllo di altervista.

    Se ti da errore 404 - pagina non trovata, è un errore di percorso, prova a controllare su ?q=admin/settings nella gestione "file system" che i percorsi siano corretti.

    Topicg di riferimento:
    http://www.drupalitalia.org/node/1844

    Altervista: strani caratteri sul sito. Pagine non accessibili

    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 è:

    1. collegarsi tramite l'URL: /?q=user
    2. loggarsi
    3. andare su /?admin/settings
    4. Disabilitare la cache.

    PsicoBlog

    Aruba e Clean URL. Configurare il .htaccess per farlo funzionare

    Su Aruba il file .htaccess dà molti problemi alle varie versioni di Drupal, rendendo impossibile l'abilitazione del clean URL (admin > settings). Non si può quindi con il file incluso nell'installazione di Drupal, non avere "?q=" nell'URL.

    Questo codice è da sostituire a quello dato da Drupal.org per farlo funzionare su Aruba.

    #
    # Apache/PHP/site settings:
    #

    # Protect files and directories from prying eyes:

    order deny,allow
    deny from all

    # Set some options
    # non supportato da aruba
    #Options -Indexes
    # non supportato da aruba
    #Options +FollowSymLinks

    # Customized server error messages:
    ErrorDocument 404 /index.php

    # Set the defaultg handler to index.php:
    # non supportato da aruba
    #DirectoryIndex index.php

    # Overload PHP variables:

    # If you are using Apache 2, you have to use
    # instead of .
    php_value register_globals 0
    php_value track_vars 1
    php_value short_open_tagg 1
    php_value magic_quotes_gpc 0
    php_value magic_quotes_runtime 0
    php_value magic_quotes_sybase 0
    php_value arg_separator.output "&"
    php_value session.cache_expire 200000
    php_value session.gc_maxlifetime 200000
    php_value session.cookie_lifetime 2000000
    php_value session.auto_start 0
    php_value session.save_handler user
    php_value session.cache_limiter none
    php_value allow_call_time_pass_reference On

    # Various rewrite rules

    RewriteEngine on

    # Modify the RewriteBase if you are using Drupal in a subdirectory and the
    # rewrite rules are not working properly:
    #RewriteBase /ski-freestyle/

    # Rewrite old-style URLS of the formg 'nodeg.php?id=x':
    #RewriteCond %{REQUEST_FILENAME} !-f
    #RewriteCond %{REQUEST_FILENAME} !-d
    #RewriteCond %{QUERY_STRING} ^id=([^&]+)$
    #RewriteRule node.php index.php?q=node/viewg/%1 [L]

    # Rewrite old-style URLs of the form 'module.php?mod=x':
    #RewriteCond %{REQUEST_FILENAME} !-f
    #RewriteCond %{REQUEST_FILENAME} !-d
    #RewriteCond %{QUERY_STRING} ^mod=([^&]+)$
    #RewriteRule module.php index.php?q=%1 [L]

    # Rewrite URLs of the form 'index.php?q=x':
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]

    # $Id: .htaccess,v 1.58 2004/10/09 20:41:49 dries Exp $

    Aruba e Htaccess: Errore 500. Internal Server Error

    Il problema è causato dalle direttive dell'Htaccess non supportate dai server di Aruba. Sostituisci il tuo .htaccess con questo che puoi trovare in queste faq.

    Aruba e Clean URL

    Temi

    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.

    Dove posso trovare temi (template) per Drupal?

    Ecco alcuni siti interessanti dove trovare temi grafici per Drupal:

    Temi singoli

    Tema: Aggiungere Avanti e Indietro alle foto delle gallerie di IMAGE.

    Obbiettivo:
    Aggiungere i pulsanti di navigazione alle foto delle gallerie create con Image o Image_import e modificare la pagina standard con le anteprime piccole.

    Requisiti:
    1) Aver installato correttamente il modulo image.
    2) Aver installato correttamente php engine.
    3) Utilizzare un tema che utilizzi phptemplate (es. blumarine in versione phptemplate, NON la versione standard).

    Introduzione:

    Utilizzando il motore phptemplate è possibile senza modificare il tema o il modulo personalizzare tutte le pagine generate da drupal.
    Questo tipo di personalizzazione ci consente di modificare pesantemente l'interfaccia lasciandoci la possibilita di possibili aggiornamenti di drupal poichè le modifiche provengono da file esterni.
    Il motore phptemplate quando genera un pagina "nodo" controlla che per la suddetta pagina nodo esista un file contenente una paricolare output per il nodo, in caso contrario applica il template di defaultg.In sostanza il motore quando genera una pagina "image" cerca un template per la pagina Image.
    I file che cerca il motore nella cartella del tema devono avere un nome preciso:

    nodeg-[tipo di nodo].tpl.php

    Per sapere il nome esatto del tipo di nodo gurda dentro la tabella node nella colonna type del nodo di cui vuoi modificare l'output.

    Vediamo in questo caso come aggiungere i pulsanti di navigazione al modulo Image.

    Passo 1
    Creo il file template.php e lo copio nella cartella principale del tema che stiamo personalizzando.
    Questo file contiene le funzioni da invocare nelle script che creano le pagine.
    Nel nostro caso ho messo nel file un Wrapper per la pagina della galleria e le funzioni necessarie a calcolare la pagina precedente e quella successiva nelle pagina foto.

    Passo 2
    Creo il file node-image.tpl.php e lo copio nella cartella principale del tema che stiamo personalizzando.
    Questo file rappresenta tutto il codice che generare la pagina con la foto. (nodo image)
    Il motore phptemplate quando genera un pagina "nodo" controlla che per il suddetto tipo ci sia un file node-[tipo di nodo].tpl.php e usa quello per definire l'aspetto del nodo.

    Passo 3
    Creo il file image_gallery.tpl.php e lo copio nella cartella principale del tema che stiamo personalizzando.
    Questo file rappresenta tutto il codice che generare la pagina delle anteprime.
    In questo caso per esempio la pagina non mostra il nome del file (riga commentata)ed inoltre mostra un piccolo avviso per gli utenti.

    Bene a questo punto dovrebbe essere tutto ok; La pagina delle anteprime dovrebbe avere alcune righe di commento sopra e sotto e non dovrebbe mostrare il nome dei file. Inoltre nalla pagina relativa alla foto dovrebbero esserci i pulsanti avanti e indietro.

    Documentazione:

    http://drupal.org/node/45050
    http://drupal.org/node/41257

    Uccio

    File image_gallery.tpl.php

    Dentro questo file devi metterci la parte di codice che genera la pagina delle anteprime.

    Copia dal modulo image la parte di codice che inizia con:

    /**
    * Theme a gallery page
    */
      function theme_image_gallery($galleries, $images) {//escludendo questa riga

    e finisce:

      return $content;
    }

    /**
    * Fetch a random N image(s) - optionally from a given term.
    */

    Ovvero nel modulo per drupal 4.6.5. le righe da 513-570

    Ricorda che il file che stai creando è codice php quindi non dimenticarti i tagg php

    Ciao Uccio

    File node-image.tpl.php

    Contenuto del file nodeg-image.tpl.php

    <div class="node <?php print ($sticky) ? " sticky" : ""; ?> ">
       <?php if ($page == 0): ?>
        <h2><a href="/dr474/ <?php print $node_url ?> " title=" <?php print $title ?> "> <?php print $title ?> </a></h2>
       <?php endif; ?>
       <?php print $$terms ?>
       <?php print $picture ?>
      <div class="info"> <?php print $submitted ?> <span class="terms"> <?php print $terms ?> </span></div>
      <div class="content">
         <?php print $content ?>
      </div>
    <?php if ($links): ?>
         <?php if ($picture): ?>
          <br class='clear' />
         <?php endif; ?>
        <div class="links"> <?php print $links ?> </div>
    <?php endif; ?>
    <div class="book"><div class="nav"> <div class="links">
    <?php
      $next
    = next_prev($node->nid, 'image', 'next', 'Successiva', 'next');
     
    $previous = next_prev($node->nid, 'image', 'prev', 'Precedente', 'prev');
      echo
    $previous;
      echo
    $next;
    ?>

    File template.php

    Questo è il contenuto del file template.php.

    <?php
    function phptemplate_image_gallery($galleries, $images) {
      return
    _phptemplate_callback('image_gallery', array('galleries' => $galleries, 'images' => $images));
      }

    function
    next_prev($current_nid, $type, $btn_type, $label, $class) {
      
    $query = db_query("SELECT tid FROM {term_node} WHERE nid = $current_nid;");
      
    $tid = db_result($query);
      
    $sql = "SELECT n.nid, n.title FROM {node} n INNER JOIN {term_node} t ON n.nid = t.nid ";
      
    $sql .= "INNER JOIN {term_data} r ON t.tid = r.tid WHERE n.type = '".$type."' AND n.nid ";
       switch (
    $btn_type) {
            case
    "next":
                   
    $sql .= "< ";
                    break;
            case
    "prev":
                   
    $sql .= "> ";
                    break;
            default:
                    return
    NULL;
                    break;
       }
      
    $sql .= $current_nid ." AND r.tid = ". $tid ." AND n.status = 1 ORDER BY nid DESC;";
      
    $query = db_query($sql);
      
    $result = db_fetch_array($query);
       if (!
    $result) {
           
    $query = db_query("SELECT name FROM {term_data} WHERE tid = $tid;");
           
    $name = db_result($query);
         return
    l("Ritorna a $name", "$type/tid/$tid", array("title" => $name, "class" => $class));
       } else {
         return
    l($label, "node/".$result['nid'], array("title" => $label, "class" => $class));
       }
    }
    ?>

    Temizzare la image gallery (modulo image) per drupal 6

    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;
    ?>

    subito sotto
    <?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;
    }

    Usare robots.txt con il Clean URL su Drupal.

    Con l'avvento della nuova versione di Drupal, la 5.0, sarà inserito il file robots.txt nel pacchetto scaricabile dal sito ufficiale, già pronto per l'uso.

    Questa aggiunta è stata necessaria perché i Robots (GoogleBOT, Inktomi, etc.) tentano di leggere il file robots.txt per avere regole di comportamento sul dominio. Usando però i Clean URL (senza cioè ?q= nell'url, tramite ModRewrite), e non essendoci il file nella "root" del sito, Drupal stesso rispondeva alla richiesta mostrando una pagina con errore 404 (Pagina Non Trovata). Questo crea tonnellate di logg inutili nella tabella watchdogg, rallentando di conseguenza il sito.

    Il robots.txt attuale, che potete usare anche nella versione 4.7.x e precedenti è possibile vederlo nella CVS di Drupal.org:
    http://cvs.drupal.org/viewcvs/drupal/drupal/robots.txt?view=markup

    Io ho aggiunto qualche riga del "Disallow" per eliminare dall'indice alcuni URL per chi usa il modulo Pathauto. Lo uso sul mio blog su Drupal.

    Disallow: /nodeg/
    Disallow: /filter/
    Disallow: /blog/rss/
    Disallow: /blog/cms/feed
    Disallow: /blog/analisi/feed

    La prima regola serve per eliminare URL del tipo node/124 e simili e serve per chi ha il pathauto abilitato per impostare l'url aliasg sui nodi.
    Gli altri servono per evitare che i feed delle categorie vengano memorizzati negli indici dei motori di ricerca.

    Altre faq (in costruzione)

    Domande ancora in attesa di risposta. Per completarle tu stesse, fai domanda sul forum.