Questa raccolta di documenti sono rivolti a chi si avvicina al mondo di drupal per la prima volta e vuole iniziare ad usarlo
Drupal è un CMS, ovvero un gestore di contenuti e di siti Web dinamici realizzato in PHP. Con Drupal è possibile realizzare diversi tipi di siti Web o intranet, per pubblicare articoli, insiemi di messaggi/commenti, forum di discussione, blog, raccolte di immagini etc.
Drupal consente agli utenti di registrarsi e autenticarsi in modo da tenere traccia di chi è autore di ogni singolo contenuto, e permettere agli amministratori di consentire livelli di accesso differenziati a seconda dei ruoli (utente, moderatore, amministratore, etc.).
Drupal consente di organizzare i contenuti in base alla tipologia (pagina, messaggio del forum, immagine, etc) e alla categoria assegnata dall'amministratore: una singola pagina può essere per esempio classificata come articolo, documentazione, descrizione prodotto, etc. Questo consente di dividere i contenuti in modo estremamente flessibile, rendendone semplice l'inserimento e la visualizzazione, e consentendo di realizzare uno schema di navigazione del sito estremamente funzionale
Drupal è Open Source, e può essere liberamente scaricato, distribuito e installato. Gli amministratori con esperienza di programmazione PHP possono liberamente accedere al codice sorgente per modificare l'applicativo in base alle loro esperienze.
Punti di forza di Drupal sono sicuramente l'ampia flessibilità e configurabilità, la robustezza e la gestione della sicurezza. Drupal è realizzato in modo modulare, consentendo di aggiungere numerose funzionalità aggiuntive al sistema di base.
PRINCIPI DI BASE
Drupal è un applicazione Web. Questo significa che i contenuti vengono inseriti e visualizzati attraverso un Web browser (Internet Explorer, Mozilla Firefox, Opera etc.). E' possibile realizzare siti Web pubblici o locali (intranet). I componenti richiesti per l'installazione di Drupal sono fondamentalmente tre:
Drupal è un sistema di gestione di contenuti (content management system) modulare adatto a numerosi utilizzi, pensato per essere impiegato da chi non ha necessariamente una formazione tecnica o di programmazione alle spalle. Tuttavia la realizzazione di un sito Drupal richiede preparazione e conoscenze tecniche (css, xhtml, php) e la sua gestione finale richiede una certa familiarizzazione con alcuni concetti base.
Sono così lieta di allegare una guida base scaricabile in .chm, l'help classico di Windows.
Avviso:
Le traduzioni sono fatte in modo automatico e le pagine scritte grazie alla documentazione trovata sul web, pertanto qualsiasi aiuto e "dritta" è ben accetta.
La guida rispetta la struttura tipica del menu navigazione di Drupal 6. Buona lettura!
Allegato | Dimensione |
---|---|
![]() | 294.5 KB |
Piattaforma dinamica per la realizzazione di siti web, Drupal consente a un individuo o a una communità di utenti di pubblicare, gestire e organizzare una varità di contenuti, integrando in un unico pacchetto pronto all'uso molte apprezzate funzionalità di gestione contenuti, weblog, strumenti di collaborazione e software per comunità di discussione.
Progetto di software open source gestito e sviluppato da una comunità, Drupal è gratuito da scaricare ed utilizzare. Se trovi utile quello che hai imparato qui, lavora con noi per espandere e rifinire Drupal perché soddisfi le tue esigenze.
Un ampia gamma di configurazioni siti
Attivando e configurando i singoli moduli, un amministratore può disegnare un sito unico, che può essere utilizzato per una combinazione di gestione della conoscenza, per funzioni di pubblicazione sul web e interazione di una community. Per una migliore comprensione delle molte possibilità, la seguente lista di funzionalità è stata organizzata per caratteristiche comuni alle piattaforme web:
Nota: Per maggiori informazioni consulta il Manuale Drupal sul sito ufficiale (in lingua inglese).
La Tassonomia nell'ambiente di Drupal
Cos'è? Cosa fa? Come si usa? ...
Una delle caratteristiche migliori di Drupal è senza dubbio la "Taxonomy" (o Tassonomia), spesso però gli utenti che si avvicinano la prima volta a Drupal trovano non poche difficoltà a capire il funzionamento di questa importante e potente caratteristica. Tra le domande più diffuse che troviamo sono “Sto cercando di capire la storia della tassonomia, e cosa c'entrano i nodi e le categorie...”, “Sono abbastanza confuso sulla differenza, e su quello di cui ho bisogno. ..” e via dicendo. Consiglio quindi la lettura di questa piccola guida a tutti coloro che vogliono "capire con ordine" questa funzionalità.
Andremo avanti compiendo piccoli passi, affrontando tutti gli aspetti di base del modulo “taxonomy” (tassonomia), al fine di fornire i concetti di base per comprendere l'uso più corretto della tassonomia e allo stesso tempo poter avere bene a mente quello di cui siamo in grado di fare con la tassonomia, in fine per completare la guida vi darò anche qualche link di moduli per la gestione "avanzata" della taxonomy.
Taxonomy in Drupal
Ogni CMS applica metodi differenti per la gestione di questa funzionalità, ma Drupal ha scelto la via più generale che rende questa funzionalità utilizzabile in infinite modalità. La Taxonomy di Drupal è composta da Vocabolari e Termini:
Gergo “Taxonomy” in ambiente Drupal
La tassonomia, ed il gergo ad essa associato, sono una delle cause più comuni di confusione per i nuovi utenti Drupal , per questo motivo ho deciso di fare una piccola panoramica sulla terminologia usata:
Tassonomia:
In inglese “Taxonomy”, è un modulo di Drupal che ti permette di organizzare i tuoi nodi, secondo uno schema di classificazione da te definito, và attivato in Drupal 5.x mentre in Drupal 6.x è di default già attivo nella prima installazione.
Sia i Vocabolari che i Termini possono essere modificati in qualsiasi momento, eliminati e/o spostati, il tutto senza avere ricadute sui contenuti. Al massimo avremo contenuti senza termini quando in precedenza li avevano, oppure contenuti con una sfilza di termini in più, ma in generale se eliminiamo un termine o un vocabolario collegato ad un contenuto, a quest'ultimo non accadrà nulla di estremamente dannoso. [...]
La guida completa in PDF è possibile scaricarla cliccando qui.
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:
Il sistema è pronto e non ci resta che fare tutte le prove che vogliamo con il nostro drupal nuovo!!
Accorgimenti/Problemi noti:
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
In Windows semplicemente aprire il menu dei programmi ed entrare nella voce "BitNami Drupal x Stack", li troverete sotto "BitNami Drupal x Stack Services" i collegamenti per poter eseguire (Start) o fermare (Stop) il server BitNami. Per vedere la propria pagina drupal, cliccare su "Launch BitNami" sempre dalla stessa voce del menu programmi.
Per accedere a phpmyadmin bisogna usare come nome utente "administrator" con la password che avete inserito nella fase di installazione.
In questo post vedremo il modo più rapido e raccomandato di installare Drupal 6 su Windows. Per fare questo usiamo il Web Platform Installer (WebPI), un tool gratuito che serve per configurare Windows, installando tutto il necessario al funzionamento di molte applicazioni Open Source PHP e ASP.NET. Questo tool può essere usato su macchine con diversi sistemi operativi Microsoft come Windows 7, Windows Vista, Windows Vista SP1, Windows XP SP2+, Windows Server 2003 SP1+, Windows Server 2008, Windows Server 2008 R2.
Potete usare il WebPI anche per “preparare” le macchine con Windows installando e configurando IIS, MySQL, SQL Server ed il runtime di PHP e quindi poi installare manualmente altre versioni di Drupal o di altre applicazioni non contenute direttamente nel WebPI.
Per lanciare l’installazione di Drupal seguire questo link, premendo sul tasto per l’installazione potrete scaricare l’eseguibile per il Web Platform Installer e tra le applicazioni disponibili vedrete Drupal con l’ultima versione testata e inserita nella gallery delle applicazioni a cui il Web PI punta.
Nella schermata vedete come si presenta la pagina iniziale.
Se premete il tasto per l’installazione il tool si occupa di controllare tutte le dipendenze necessarie all’installazione, installare quelle mancanti e la migliore configurazione per far girare questa versione. Installa l'ultima versione del runtime PHP, configura il server web che trovate già nativamente su Windows: Internet Information Server (IIS) nella versione di Windows che usate: IIS 5.1 per Windows XP, IIS 6 per Windows Server 2003, IIS 7.x per Windows Server 2008 e R2, Vista e Windows 7. Se avete installato la beta del tool gratuito Microsoft WebMatrix potete anche scegliere d’ installare Drupal 6 su IIS Express, una versione di IIS 7 appositamente pensata per lo sviluppatore e installabile anche su macchine con Windows XP.
Inoltre viene installato FastCGI, un modulo di IIS progettato da Microsoft per far girare PHP in modo performante e affidabile su IIS. Tra le componenti più utili trovate poi il modulo di URL Rewrite, disponibile gratuitamente per le ultime versioni di IIS e che consente di avere url facilmente comprensibili e facilmente indirizzabili dai motori di ricerca su Internet e quindi consentirà l’abilitazione dei clean url di Drupal.
La versione 6 di Drupal richiede l’uso di MySQL come unico DBMS da usare, se non l’avete già installato il WebPI lo installerà per voi. In un prossimo post vedremo come installare Drupal 7 con SQL Server in alternativa a MySQL.
Nella figura precedente vedete la maschera di ricapitolazione sulla mia macchina che è già in parte configurata, ma che, come vedete, oltre al package di installazione di Drupal installa anche la Windows Cache per PHP versione 1.1 e PHP 5.2.14, versione più recente di quella che ho precedentemente installato.
Dopo il download verrete guidati alla configurazione scegliendo la porta, la directory virtuale etc. Alcune impostazioni sono già pre-configurate e potete lasciarle così, altre sono obbligatorie come vedremo a breve. Non vi preoccupate nel caso non le inseriate, verrete notificati e potrete inserirle prima di proseguire.
Nel secondo step per l'installazione di Drupal ecco che dovete inserire le informazioni obbligatorie per la creazione del database
Da ora in poi sarà possibile accedere a Drupal nel modo usuale e procedere alla configurazione finale.
L’uso del WebPI è il modo più rapido per la configurazione di Drupal, se volete maggior controllo sulla configurazione potete comunque procedere ad un’istallazione manuale.
Un’altra delle componenti sviluppate da Microsoft per migliorare le performance di PHP e Drupal è un modulo per IIS noto come Windows Cache, detta WinCache 1.1, che avete visto essere installato come dipendenza.
Tra le funzionalità di questa Cache ci sono le seguenti, che possono essere abilitate e disabilitate in modo opportuno.
Queste opzioni che trovate documentate a questo link possono essere abilitabili/disabilitabili nel file PHP.ini.
La configurazione vista in precedenza ha già configurato il modulo di URL Rewrite di IIS 7 (le versioni precedenti non lo supportano) per l’uso dei Clean URL. La versione Express di IIS7, che al momento non è ancora stata rilasciata, supporterà questo modulo e potrà essere installata anche su versioni di Windows come Windows XP.
Nella prima pagina di configurazione di Drupal troverete infatti già abilitati i Clean URL, come risulta dalla figura seguente:
Le informazioni relative ai Clean URL ed in linea più generale alle regole di routing le trovate scritte nel file XML Web.config nella directory root dell’installazione di Drupal.
In questo articolo avete visto come configurare Drupal su Windows con IIS e la WinCache, che è parte del lavoro che Microsoft sta facendo per far girare al meglio applicazioni PHP su Windows con IIS. In senso più generale potete usare il Web Platform Installer per “preparare” la macchina Windows ad una qualsiasi installazione di Drupal che preferiate nel caso non vogliate usare la versione presente nel WebPI.
Se avete domande contattatemi pure tramite il mio blog e... al prossimo articolo.
Come posso installare un nuovo modulo in una versione funzionante di Drupal?
Il consiglio è di leggere sempre il file README e/o INSTALL, quasi sempre presenti nel pacchetto che si scarica da Drupal.org.
La procedura generica è comunque elencabile facilmente:
Come posso disattivare e rimuovere un modulo che sto utilizzando?
Ci sono 3 operazioni legate alla disattivazione/rimozione di un modulo:
In generale, questa dovrebbe essere la sequenza, anche se il passo 2 non è indispensabile e a volte non è nemmeno richiesto (se il modulo non ha aggiunto tabelle o variabili al db) o disponibile (se lo sviluppatore non ha previsto le procedure di disinstallazione).
Stato documento: Alfa
Una (volutamente) breve lista di moduli disponibile su http://drupal.org/modules importante per quasi tutti i siti Drupal.
Non è detto che serve proprio ogni modulo in questa lista. Dipende molto del scopo del sito che state costruendo.
Caldamente consigliato ai nuovi Drupalisti.
Amministrazione
Admin menu - irrispettivo della tema di amministrazione scelta, questo modulo aggunge un menù "drop-down" gerarchico con tutti i principale sezioni e sotto sezioni di amministrazione, e con qualche funzione proprio. Un grande risparmiatore di tempo.
Aiuto
Advanced Help - utilizzato da altri moduli, aggiunge documentazione e aiuto locale nel utilizzo di essi. Puoi utilizzarlo per produrre documentazione del proprio sito (tipo HTML statico), senza aggiungere codice PHP. Abbiamo bisogno di tutto l'aiuto che possiamo trovare.
Estensioni per i tipi di contenuto
Content Construction Kit - ormai il metodo "de facto" per aggiungere campi ai tipi di contenuto. Oltre ai campi forniti da CCK, ci sono tanti altri forniti da altri moduli. Vedi la sua categoria. Il coltello svizzero per i tipi di contenuto.
Gestione di immagini già caricati (uploaded)
ImageCache - semplice meccanismo per generare "al volo" immagine di diverse dimensioni dai file immagine originale. Risolve il problema di creare thumbnails, o immagini di dimensioni tutti uguali, e cosi via.
Salvataggio e ripristinazione del database
Backup and Migrate - permette di filtrare le tabelle da salvare, e di comprimere il risultante SQL. Riprisitinazione di database precedentendìmente salvati. Ottimo per migrare database di piccole/medie dimensioni fra server di produzione e sviluppo. Aiuta dormire meglio sapendo che i dati sono salvi.
Sviluppo di codice e teme (anche per non programmatori)
Devel - un tool utile sia per lo sviluppo di codice (moduli custom, ecc), insieme a Theme Developer per lo sviluppo di teme (template, ecc). Utile anche per analizzare sezioni del template, strutture dati di contenuto, tempi di esecuzione SQL, anche dai non programmatori. Una macchina a raggi-X per il tuo sito Drupal.
Visualizzazione di dati di contenuto
Views - altro metodo "de facto" per costruire liste di contenuti ed oltre. Un generatore di query SQL senza la necessità di conoscere SQL. Disponibile anche altri moduli che estendono Views, vedi la sua categoria. Il coltello svizzero per la visualizzazione di dati di contenuto.
Vedi anche:
Note per altri editori:
Aggiungi pure links ad articoli in italiano per questi moduli, o FAQ/Guide specifiche.
Questa lista è deliberatamente corto, è per rispetto ai nuovi Drupalisti sarebbe meglio se rimane corto. Non è l'intenzione di creare una lista "c'è un modulo per quello" qui - con migliaia di moduli a disposizione sarebbe fin troppo facile farlo. Meglio la tecnica di Antoine de Saint-Exupéry - "La perfezione (nel design) si ottiene non quando non c'è nient'altro da aggiungere, bensì quando non c'è più niente da togliere."
E' probabile che il tema predefinito dell'installazione di drupal non soddisfi le tue esigenze in fatto di grafica, stili e tipografia.
Se non sai come crearti un tema, il consiglio è quello (per ora) di scaricarne uno e di installarlo sul tuo sito web.
Ecco in breve i passi da seguire:
Ecco alcuni siti interessanti dove trovare temi grafici per Drupal:
Temi singoli
Stato documento: Alfa
Il prodotto finale degli sforzi nostri e di Drupal è una pagina web (documento HTML) che vediamo nel nostro browser. Ma cos'è la composizione di questa pagina in termine Drupalesque?
Pagina - Page
Al livello più alto abbiamo la pagina web (documento HTML), composto da tre elementi:
<head>
) che contiene links a file aggiuntivi (di solito CSS e JavaScript) ed informazione simantiche<body>
) il testo insieme al markup HTML del documento stesso - il contenuto completo. Il resto di questo documento fa riferimento esclusivamente al corpo del documento.
Regioni - Regions
Al primo livello la pagina viene suddiviso in rettangoli chiamati regioni (regions). Un classico disposizione di pagina ha una striscia a piena larghezza in alto e un altro in basso della pagina (detto intestazione e pié di pagina) e due striscie verticale fra questi, un po come pilastri, uno a sinistra e uno a destra (detto barra laterale sinistra e barra laterale destra). Il rimanente bucco in centro è riservato per il contenuto.
Esempio:
+--------------------------------------------------------------------------------+
| |
| intestazione |
| |
+--------------------------------------------------------------------------------+
| | | |
| | | |
| | | |
| barra | | barra |
| laterale | contenuto | laterale |
| sinistra | | destra |
| | | |
| | | |
| | | |
+--------------------------------------------------------------------------------+
| |
| pié di pagina |
| |
+--------------------------------------------------------------------------------+
Ovviamante è possibile avere molti altri regioni, il numero e nomi di questi regioni è di solito dettato dalla tema usato. Quindi, possiamo trovare teme costruiti per specifici composizione, come un blog, giornale, revista, e cosi via. Ogniuno ha regioni diverse, per i diverse scopi.
Ma non siamo obbligati ad usarli tutti. Se non mettiamo qualcosa dentro una regione, esso non apaia sulla nostra pagina.
Impostazioni globali
In admin/build/themes/settings
troviamo una serie di parametri che possiamo settare a piacimento, e che modificano il comportamanto della tema. Inoltra una tema specifica può aggiungere altri parametri in più, vedi i tab in alto con i nomi delle teme attivi, a fianco al tab "Impostazioni globali".
Possiamo impostare un logo, un nome del sito, slogan, e descrizione della missione del sito, l'icone (detto favicon), e i links primario e secondario. Inoltre per ogni tipo di contenuto puoi attivare o non la visualizzazione d'informazione sull'autore, e data di pubblicazione.
Blocchi - Blocks
Al secondo livello ci sono i blocchi. Sono questi che vengono usati per riempire i regioni. Possiamo scegliere fra blocchi forniti dai moduli core e contrib, oppure creare dei nuovi.
In admin/build/block/list/
tema
(dove tema è uno delle teme attivi) possiamo vedere l'elenco dei blocchi, e predisporli in una regione. Possiamo mettere più blocchi in ogni regione, specificando un peso in modo che uno appare sotto l'altro.
Il trimvurate HTML, CSS, e JavaScript
I regioni e blocchi vengono delimitati con elementi HTML <div>
ed hanno numerosi classi CSS. Questo rende possibile dei notevole modifiche tramite proprietà di CSS. Modifiche più consistente (per esempio dei tabs) possono essere raggiunto utilizzando JavaScript, o più specifichemente, con jQuery il framework JavaScript usato da Drupal.
[Edit: ha forse bisogna di ulteriori spiegazioni . è un ancora pò 'magro']
In questa guida vediamo come effettuare una installazione multisite di Drupal, ovvero come, sfruttando un unica copia dei file PHP e due (o più) database realizzare due (o più) siti.
Come prima cosa è necessario configurare Apache per far si che due indirizzi differenti puntino alla stessa cartella (la cartella contenente i file di Drupal), per fare questo utilizzeremo i VirtualHost, quindi dopo averli attivati inseriamo nel file di configurazione il seguente codice:
<VirtualHost *:80>
DocumentRoot "/var/xampp/htdocs/sito_prova/"
ServerName sito1.prova
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "/var/xampp/htdocs/sito_prova/"
ServerName sito2.prova
</VirtualHost>
127.0.0.1 sito1.prova
127.0.0.1 sito2.prova
Procediamo a creare due database MySQL (da noi chiamati db1 e db2) possibilmente assegnando ad ognuno di essi utenze e password differenti.
Nella cartella /sites di Drupal creiamo due sottocartelle cartelle, che chiameremo
Per ognuna di queste cartelle creiamo un file settings.php, ognuno dei quali punta a diversi db e precisamente
$db_url = 'mysql://username1:psw1@localhost/db1';
$db_prefix = ''
$db_url = 'mysql://username2:psw2@localhost/db2';
$db_prefix = ''
dove, chiaramente, andremo a inserire i parametri corretti per le connessioni ai due diversi database.
Richiamiamo le diverse pagine di installazione dei diversi siti, per permettere di accedere e costruire le tabelle nel database
Ora possiamo accedere e configurare i sue siti in maniera differente, pur mantenendo lo stesso core, con tutti i vantaggi che ne conseguono nei confronti dell'amministrazione e gestione.
I moduli che devono essere disponibili ad entrambi i siti devono essere posizionati all'interno della cartella /sites/all/modules, mentre i temi andranno posizionati nella cartella /sites/all/themes.
Configurare un sito multilingua -vuoto-
Aggiornamenti:
17.11.04 guida originale di maxdanno
10.10.08 aggiunte le sezioni per importare la traduzione con drupal5 e drupal6
23.12.08 aggiornato la guida per essere conforme con i file scaricati dal server l10n
17.09.09 aggiunta nota per problema permessi traduzione scompattata su Mac/Linux
In questo paragrafo, destinato agli amministratori di siti Drupal, verrà descritto come ottenere ed inserire il file di traduzione per ottenere un sito Drupal con interfaccia in lingua italiana. Grazie ad un potente modulo (l10n_server) è stato possibile centralizzare gran parte delle traduzioni dai vari moduli in un unico luogo. Noi di Drupalitalia.org usiamo il nostro sito di traduzione, raggiungibile all'indirizzo: http://localize.drupal.org.
Questo metodo fa si che l'utente può trovare ad ogni momento l'ultima versione della traduzione di drupal o del modulo richiesto semplificando il lavoro sia il traduttore che l'utente comune.
Questo processo è semplicissimo, si può cliccare sul blocco "Drupal latest releases" dove contiene un link alla traduzione o seguendo questi link:
Traduzione Drupal 6.x - Pacchetto di traduzioni, diviso per moduli
Traduzione Drupal 6.x - File po unico
Nota: sia dal blocco che da questi link state scaricando l'ultimissima versione disponibile.
Come accennato nell'introduzione tutti i moduli tradotti si trovano in una pagina dove sono raggruppati.
Per avere drupal in italiano esistono due sistemi, uno leggermente elaborato ma che ottimizza meglio l'uso dei file di traduzione e l'altro più veloce ma non molto corretto dal punto di vista della filosofia di drupal. (Con Drupal5 installare ed abilitare il modulo autolocale)
I vantaggi usando questo metodo è che la traduzione viene caricata su richiesta, questo permette di non caricre inutilmente stringhe tradotte nel database.
ecco i passi da seguire:
chmod -R a+rX /percorso/cartella/traduzioni
, in cui /percorso/cartella/traduzioni è dove si trova la cartella scompattata dall'archivio scaricato da l10nQuesto metodo importa indistintamente dai moduli attivi tutte le stringhe tradotte in un colpo solo.
in admin/settings/language è sufficiente selezionare la lingua che si vuole eliminare (non può essere quella di default) e poi cliccare sulla scritta elimina. Questo processo elimina completamente tutte le stringhe tradotte dal database senza lasciare alcuna traccia.
Prima di continuare dovete avere abilitato il modulo autolocale nel vostro sito.
Per importare la traduzione in drupal basta seguire questi semplici passi:
Con drupal6 le cose si semplificano ulteriormente. Abilitare il modulo di base locale, poi entrare nella pagina principale di gestione delle lingue (admin/settings/language)
Per spostare drupal dal locale sul server definitivo è consigliato usare la procedura:
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.
Stato documento: Alpha
Drupal è un applicativo web, e dipende su un'infrastruttura (Web server, interprete PHP, RDBMS) per funzionare correttamente. Spesso sui forum incontriamo problemi dove il disperato utente "non ha fatto niente", o è stato trasferito l'applicativo su un altro server. Cerchiamo qui di spiegare i problemi (e anche le loro soluzioni) a questi comportamenti "anomali".
La prima regola (cioè regola #1) è: "Non fatevi prendere dal panico", e la seconda regola (cioè regola #2) è: leggi sotto...
N.B: Quando ci riferiamo ai vari URL di Drupal, mettiamo solo il percorso. Bisogna quindi prefissare questo con il dominio del tuo sito - per esempio http://localhost/, http://localhost/drupal, o http://www.drupalitalia.org/
Quando ci riferiamo all'indirizzo del sito sul server usiamo ~drupal per indicare l'indirizzo root dell'applicativo.
Si presume sempre un sito singolo, per siti multisito, sostituisci ~drupal/sites/default con ~drupal/sites/[dominio-del-sito]
Vedi anche: Problemi ricorrenti.
Non riesco più a fare il login!
Drupal (di default) fornisce un blocco per il login 'Accesso utente'. Se questo viene disabilitato come si fa?
Usando ?=user
Ho fatto, ma non mi ricordo più il mio password!
(Vedi anche Ho perso la password dell'amministrazione) Oops. Non si può ricuperare il password, perchè criptato - ma si può sempre creare una nuova, accedendo direttamente alla basedati.
settings.php
)users
A questo punto hai due possibilità: nella riga con uid = 1, clicca sulla matita (Edit) per editare la riga, e per il campo 'pass' seleziona la funzione MD5 e scrivi il nuovo password, infine clicca su 'Go'.
Altrimenti clicca sul tab 'SQL' ed inserire:
UPDATE users SET pass = MD5( 'NUOVAPASSWORD' ) WHERE uid=1;
sostituendo NUOVAPASSWORD con il tuo password.
Ho fatto anche questo, ma non c'è una riga con uid = 1!
Oops, sembra che hai cancellato l'utente amministratore. Niente panico - puoi sempre ricostruirlo. Hai sempre due opzioni: il primo è di cliccare sul tab 'Insert' poi metti 1 come valore del campo 'uid', scrivi il nome come valore del campo 'name', metti 1 come valore del campo 'status', per il campo 'pass' seleziona la funzione MD5 e scrivi il nuovo password, infine clicca su 'Go'.
Altrimenti clicca sul tab 'SQL' ed inserire:
INSERT INTO users (uid, name, pass, status) VALUES ('1', 'NOMEUTENTE', MD5( 'NUOVAPASSWORD' ), 1);
sempre sostituendo NOMEUTENTE e NUOVAPASSWORD con il tuo nome e password.
Ho caricato i miei immagini ma non si vedono nelle pagine!
Se non riesci a vedere un immagine neanche specificando l'URL direttamente: sites/default/files/test.png
, il problema sta nel file .htaccess
o i permessi del indirizo.
In ~drupal/sites/default/files
controlla il file .htaccess
- è molto breve:
SetHandler Drupal_Security_Do_Not_Remove_See_SA_2006_006
Options None
Options +FollowSymLinks
Controlla anche i permessi per il percorso indirizzo:
~drupal 755
sites 755
default 555
files 775
ecc... 775
Tutti i links mi portano al "home page"!
Prova a prendere il percorso di uno di quei link e prefissare ?q=
, per esempio user/register
in ?q=user/register
. Se funziona, allora hai Clean URLs abilitato, ma il server non lo sta gestendo.
Ci sono due soluzione: disabilitare Clean URLs ;-), o controllare il file ~drupal/.htaccess
(simile al originale: http://drupalcode.org/viewvc/drupal/drupal/.htaccess?revision=1.90.2.5&v...) e che il web server ha il modulo rewrite: ?q=admin/reports/status/php
voce apache2handler, nella casella Loaded modules ci dovrebb'essere mod_rewrite
.
E' possibile che devi settare $base_url
(anche a "/") tipo: $base_url = "/";
in ~drupal/sites/default/settings.php
Se stai gestendo il web server tu (cioè non hai shared hosting, o sei in locale) allora bisogna controllare il file di configurazione in Apache: /etc/apache2/sites-available/default
dove ci sarà un commando tipo:
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
AllowOverride
ha il valore di All
e non None
.
Sfortunatamente, potrebbe anche essere un problema di un database corrotto. Basta caricare uno degli ultimi backup del database per vedere.
Non si vede bene lo stile della pagine, manca del testo qui e là, non c'è affatto uno stile!
Questo può capitare quando usiamo qualche ottimizzazione di Drupal. In ?q=admin/settings/performance
si può abilitare ottimizzazioni per CSS e JavaScript. Questi ottimizzazioni creano dei file di CSS e JavaScript in ~drupal/sites/default/files
, ma se vengono persi - niente CSS e JavaScript. E sufficiente disailitare questi ottimizzazioni per ripristinare i CSS e JavaScript originale. A questo punto si può riabilitarli, perchè hanno rigenerati i file mancante.
Non ci sono caratteri accentati, ma solo "�"!
Drupal e PHP utilizzano una libreria chiamato mbstring per codificazione di carattere UTF8, per esempio i caratteri accentati in italiano. Se questa librerie non è installato, Drupal e PHP funzionano lo stesso, ma non hanno la 'capacità' di visualizzare caratteri di questo genere.
Puoi controllare la presenza di questa libreria in ?q=admin/reports/status
dove, alla voce "Libreria Unicode" dovrebb'essere scritto "Estensione Mbstring per PHP", oppure in ?q=admin/reports/status/php
, semplicamente cercando per la voce mbstring.
La soluzione se manca è di installare la libreria. Qui trovi qualche guide:
[en] http://php.net/manual/en/mbstring.installation.php
[Edit: Manca indicazioni per Windows]
Stato documento: Alfa
Drupal tecnicamente usa il Front Controller Pattern [Edit: link in italiano?], cioè tutte le richieste passano per un punto centrale - index.php
. E' anche uno degli file PHP più piccoli di Drupal (perchè delega il lavoro all'infrastruttura), ma segue tre operazioni importanti:
Vedi anche I componenti della pagina web.
Bootstrapping.
Il bootstrapping (inizializzazione) e' uno dei compiti più importanti nel sistema, dove Drupal tenta di caricare la minima quantità di codice possibile per completare l'operazione richiesta. Il codice di bootstrapping si trova in includes/bootstrap.inc
. Questo processo segue delle fasi distinte:
settings.php
.$user
viene creato durante questa fase./drupal/projects
a node/123
. Vedi anche Il sistema di menù - dal URI alla pagina web, per ulteriori dettagli.hook_init
di ogni modulo abilitato che ha fornito questo hook.Dopo il bootstrap, Drupal converte il percorso ricevuto in una funzione da chiamare tramite il menu router. Questa funzione è conosciuto come 'gestore' (handler).
Temizzare il contenuto.
Il gestore (handler) ha il compito di caricare i dati del contenuto e convertirlo in un documento parziale di HTML. Prima di procedere con quest'operazione però, il gestore controlla se l'utente ha i necessarie permessi per vedere il contenuto, e se effettivamente i dati esistono - questo può succedere se un nodo viene cancellato, per esempio. In entrambi i casi non sarà possibile temizzare un contenuto, o perchè non è permesso, o perchè non c'è. In questi casi viene restituito il codice di errore HTTP, 403 o 404.
Se i dati vengono trovati, e l'utente ha i necessari permessi per vederli - singolo nodo o lista che sia - ogni uno viene temizzato - cioè convertito in una stringa di testo HTML. Per ogni nodo viene creato i links (tassonomia, numero commenti, leggi tutto, ecc), e per le liste vengono creati dei links del pager - se specificato, che spezzano una lista in sezioni più piccole.
Temizzare la pagina.
Con il contenuto convertito in HTML, questo viene passato alla fase finale di temizzazione che construisce la pagina finale. Vengono caricati i parametri dei blocchi per ogni regione, e se combacia con i parametri di visualizzazione, allora vengono caricato i dati del blocco che poi viene temizzato.
Ma se la precedente fase (temizzare il contenuto) ha ritornato un codice di errore, allora Drupal taglia corto, evitando di temizzare i blocchi.
Sito in manutenzione
Quando il sito è in manutenzione (maintenance mode on) Drupal visualizza una pagina 'tagliata' come per i precedenti errori, ma con il codice 503 - servizio non disponibile. Con un eccezione - se stai tentando di accedere al sito (log in) o se sei l'utente 'omnipotente' cioè uid == 1, anche conosciuto come 'admin'.
Nota tecnica
Drupal non usa il pattern Model-View-Controller, bensi il pattern Presentation-Abstraction-Control. [Edit: link in italiano?] Questo ha anche il significato che non c'è un netto distinzione fra view e modello - c'è la tendenza di produrre il risultato HTML (cioè view) durante la fase di costruzione del model. Per esempio in una lista di nodi, ogni nodo viene prima caricato poi temizzato, invece di caricare tutti i nodi per poi temizzarli. Quindi troviamo funzioni e template per temizzare 'node', ma non 'nodes' o 'list'.
Stato documento: Beta
Anche se raggruppato sotto il nome "sistema di menù", il sistema si divide in due distinte parti:
/project/drupal
in ?q=node/121
?q=node/121
all'esecuzione di codice che gestisce l'URIConfuso? Vediamo ogni parte un po' più in dettaglio.
Conversione dell'URI.
Ogni pagina del nostro sito ha un URI. Per esempio http://drupal.org/project/drupal[/codefilter_code] che si divide in:
http
drupal.org
/project/drupal
Il server (Apache o IIS per il protocollo http
nel nostro caso) viene chiamato e prima controlla se il percorso corrisponde ad un file, e se ha i permessi necessari per accederci. Questo, nel caso di Apache, lo fa anche tramite il famoso file .htaccess
. [Edit: aggiungi link a "cos'è .htaccess"]
Se tutto va liscio, il web server restituisce il file - un immagine, o file CSS per esempio. Altrimenti, se il file non esiste, il nostro tenace web server continua il suo tentativo di restituire qualcosa di utile, caminando lungo il percorso all'indietro. Se non trova /project/drupal
, controlla /project
, e poi /
. Nel nostro caso, all'indirizzo /
(detto anche root del sito) trova il file index.php
di Drupal, che il web server può eseguire.
Nel caso che non trovasse nulla di utile, il povero web server è costretto a restituire il codice 404 - che significa "Oops, non c'è", o nel caso che trovi il file ma non ha i permessi giusti, il codice 403 - che significa "Spiacente, ma non posso".
Ora il web server è pronto a chiamare Drupal eseguendo il file index.php
. Drupal tecnicamente usa il Front Controller Pattern [Edit: link in italiano?], cioè tutte le richieste passano per un punto centrale - index.php
in questo caso. Un pò come un imbuto.
Ma se tutto passa per index.php
, che fine fa il percorso /project/drupal
? Viene convertito in un parametro di query (con nome q
) come il seguente: http://drupal.org/index.php?q=/project/drupal[/codefilter_code]. Quest'operazione viene fatta dal web server ed è conosciuto come "Clean URLs" in Drupal. [Edit: aggiungi link a "come settare Clean URLs"]
A questo punto Drupal viene eseguito e legge il parametro q
per capire il percorso. Nel caso dove Drupal non sta nel indirizzario root del sito, per esempio in /drupal
, lui toglie quest'informazione utilizzando il valore del variabile $base_url
che si trova in settings.php
. [Edit: aggiungi link a "come trovare settings.php"] In più, toglie il primo carattere del percorso così diventa project/drupal
.
Ora deve trovare il codice che corrisponde a questo percorso "standardizzato". Prima però controlla se è un alias - uno pseudonimo. Abilitando il modulo Path (core - opzionale) possiamo dare un nome alternativo ad un percorso "standard" di Drupal. [Edit: aggiungi link a "come abilitare un modulo"] Per esempio invece di node/121
possiamo specificare project/drupal
. Gli alias sono registrati nella tabella url_alias
del database di Drupal. Quindi se lui trova project/drupal
, lo converte in node/121
.
Router.
Stabilito il percorso "standard", questo viene passato al router - lo smistatore. Lui va a guardare quale codice corrisponde al percorso usando un altra tabella chiamata menu_router
. La tabella contiene un bel pò d'informazione, incluso il nome della funzione (page_callback
) e in quale file sta (file
), ma anche quale permessi sono necessari per visualizzare la pagina (access_callback
e access_arguments
).
Ma il nostro percorso, node/121
, non esiste! Esiste invece node/%
che viene usato per tutti i nodi (cioè contenuti). Il simbolo %
è chiamato wildcard o jolly. Il valore nella posizione corrispondente al jolly (121 in questo caso) viene passato come parametro alla funzione specificata dalla colonna page_callback
. Così un record solo nella tabella può gestire tutti i nodi (forse migliaia) del nostro sito.
In fine, possono succedere tre cose; se il percorso non viene trovato, Drupal restituisce il codice 404 "Oops...", se l'utente non ha i permessi necessario viene restituito il codice 403 "Spiacente...", o il router esegue il codice definito in menu_router
, e vediamo il nostro bel contenuto.
Un altro percorso da notare è system/files
. Drupal permette che i files caricati (uploaded) possono essere pubblici o privati, o con Drupal 7, entrambi. [Edit: aggiungi link a "come rendere pubblico o privato il file system"] Nel caso pubblico Drupal non c'entra - il lavoro viene svolto dal web server, quindi è anche molto veloce. Nel caso privato, Drupal toglie i permessi al web server, e se i link ai files iniziano con /system/files
allora è Drupal stesso a controllare permessi e fornire i contenuti dei files. In questo caso dobbiamo perdere un bel pò di velocità ma guadagniamo tutta la flessibilità di Drupal.
Tips: Quando un percorso non va: Controlla la configurazione del web server, poi per Apache .htaccess
, poi Drupal.
Tips: Scegli i tuoi alias con cura. Meglio se iniziano con lo stesso percorso tipo: appunti/... foto/... notizie/... ecc., ed evitare nomi già in uso dal sistema, quale admin/... system/... o user/... Quando si è in dubbio, guardare nella tabella menu_router
prima:
SELECT * FROM menu_router ORDER BY path ASC
[Edit: link a "come leggere il database Drupal"]
- stub -
Vai in
http://esempio.com/admin/settings/site-information
puoi impostare come home una pagina da te creata (guarda in fondo alla pagina)