In questa sezione sono raccolti alcuni stralci di documentazione prima presenti sul portale, i documenti presenti nella sezione potrebberero essere non più veritieri
I paragrafi seguenti non sostituiscono in alcun modo la documentazione presente sul sito ufficiale, ma costituiscono piuttosto una serie di HOWTO in lingua italiana destinati agli amministratori e ai traduttori.
Se desiderate contribuire come traduttori, o realizzando FAQ, recensioni di moduli o altro tipo di documentazione, aprite la pagina di collaborazione.
Qui è presente una lista di documenti, tutorial, howto sulla gestione e l'amministrazione di un sito creato con Drupal.
Qui saranno inclusi tutorial, guide e manuali per lo sviluppo con Drupal
Volete fare un form con select multiple tra loro collegate (tipo master detail)?
Volete mostrare dei dati quando l'utente scrive dei valori in un campo? chessò, inserendo il nome di un auto, far in modo che esca la storia di quell'auto senza ricaricare la pagina?
......se avete problematiche di questo tipo, ahah può essere la soluzione. Ho allegato un mio piccolo tutorial sull'uso di ahah. Buona lettura.
Ciao
Gianni
Allegato | Dimensione |
---|---|
ahah.pdf | 57.02 KB |
Gianni Giusti ha creato l'ottimo tutorial: Creare un form di inserimento "orizzontale" (guida per sviluppatori).
La guida è aggiornata per essere usata con il Core Drupal 5.x.
Il pdf allegato è un tutorial sulla creazione di un modulo Drupal.
Per gentile concessione di Antonio Santomarco
Allegato | Dimensione |
---|---|
Crazione_moduli_Drupal.pdf | 103.04 KB |
TheCrow ha creato alcuni screncast per l'installazione di Drupal 5.x. Li potete trovare tutti alla pagina Drupal Screencast sul suo sito.
Configurazione pacchetto AMP (con riferimento a XAMPP)
Installazione Drupal
Configurazione Drupal per il primo avvio
Traduco e riporto questo illuminante scambio sulla tassonomia segnalato da Matteo.Ciao a tutti. Ho appena finito di installare una nuova copia del 4.6 e scaricato alcuni moduli. Sto cercando di capire la storia della tassonomia, e cosa c'entrano i nodi e le categorie. Ho letto parte della documentazione, fatto alcune ricerche sul sito e su google, ma vorrei soltanto una risposta da qualche anima gentile che sappia il fatto suo, prima di essere certo delle cose.In pratica, sto cercando di creare un sito da usare per scrivere 5 articoli alla settimana. Ogni articolo apparterrà a una categoria (Chi, Cosa, Dove, Quando e Perché). Tutto qui. Avrò dei creatori di contenuti per creare gli articoli, e forse alcuni revisori che possano entrare e correggere gli errori di battitura e il resto. Vorrei che i miei 5 articoli compaiano in prima pagina (con un mio tema, ma questa è un'altra storia). Vorrei anche che i miei utenti non vedano molto dei menù esistenti (come crea contenuto, mio profilo etc). (...)
Quindi il mio primo problema è: come configuro le mie categorie in Drupal? Uso le tassonomie? i nodi? le categorie? I miei articoli sono rappresentati da Pagine o Storie? Sono Libri? Sono abbastanza confuso sulla differenza, e su quello di cui ho bisogno. Ah, tutti i miei articoli sono in sola lettura, quindi niente commenti o cose simili. Per capire cosa intendo, date un occhiata a www.dailycandy.com. Sto cercando di creare qualcosa del genere.La tassonomia, ed il gergo ad essa associati, sono una delle cause più comuni di confusione per i nuovi utenti Drupal (come spiegato nel mio articolo
sulla tassonomia). Per prima cosa, lascia che ti chiarisca questo gergo:
Ora che abbiamo chiarito tutto questo, ecco le impostazioni che credo rispondano meglio alle tue esigenze:
Spero che i miei consigli sulla tassonomia siano utili. Jeremy Epstein - GreenAsh Scritto da Jaza
Tradotto da Michele
Risposte alle domande frequenti. In questa sezione vengono raccolte, direttamente dal forum, le domande fatte più di frequente riguardo l'hosting, l'installazione, la gestione di Drupal e dei suoi moduli.
Se avete problemi, è un buon punto di partenza per vedere come sono stati risolti in precedenza.
www.dottorgonzo.com
Ho avuto il piacere di fare la conoscenza di drupal circa sette giorni fa' e dopo notti insonne a cercare di capire la logica di drupal, sono quasi entusiasta di questo splendido prodotto.
ora pero' ho un problema, nel mio sito manca la galleria immagini, ho installato il modulo image su drupal 4.5.0 ma la vera difficolta' sta nel fatto che non so dove mettere imagemagik, ho creato il vocabolario, insomma tutto ok ma non trovo informazioni per installare imagemagik e soprattutto non so dove scrivere l'indirizzo path su image.module, spero che se riusciamo a risolvere questo mio stupido problema.... questo post sara' di aiuto anche ad altri. grazie e spero che questa comunita' cresca.
un asaluto a tutti volevo ringraziare in anticipo ki avrà la pazienza di rispondermigrazie 1000
dopo aver eseguito alla lettera tutte le istruzioni del files tradotto in italiano digitando la url del mio sito esce scritto :
Access denied for user: '[email protected]' (Using password: YES)
le mie domande sono :
1) ma si deve settare in modo particolare il files conf su altervista ?
2) per il db ho usato il files scompattato che avevo sul pc ho sbagliato?
Questo sito nasce per opera di un gruppo di utenti di Drupal, spinti dal desiderio di condividere la propria esperienza e di diffondere e rendere fruibile questo ottimo gestore di contenuti anche in Italia.
Punto di riferimento per la resa in lingua italiana, Drupal Italia ha l'ambizione di diventare riferimento per la comunità italiana degli utenti e degli sviluppatori Drupal.
Cos'è Drupal
Drupal è un software PHP che consente la gestione di contenuti di diversa natura e la realizzazione di siti Web dinamici. Drupal è ideale per realizzare portali, intranet, forum, blog e, in generale, qualsiasi tipo di sito che preveda la gestione di messaggi, commenti e utenti. L'eccezionale qualità di Drupal ne sta decretando la diffusione vorticosa in Italia e nel resto del mondo.
Drupal è Open Source, liberamente scaricabile, utilizzabile e modificabile secondo i termini della licenza GPL.
Obiettivi
Drupal Italia ha tre obiettivi:
Contatta l'amministratore: michele (at) drupalitalia (dot) org
In questa sezione è contenuta la descrizione dei moduli aggiuntivi ("contributed") che estendono le funzionalità di Drupal.
L'elenco (necessariamente parziale) è realizzato dalla redazione di Drupal Italia recensendo i moduli utilizzati dagli utenti.
Nota importante: questo articolo è ancora in lavorazione.
Nota: questo articolo tratta espressamente dei moduli aggiuntivi o "contributed". Per conoscere le funzionalità dei moduli di base, fate riferimento all'help (disponibile in italiano) contenuto in ogni installazione di Drupal.
All'interno del software di Drupal sono inseriti una serie di moduli base o "core" (pagina, forum, libro, storia etc.) che forniscono le funzionalità di base. Per esempio, "pagina" consente di creare pagine statiche, costituite da un titolo, un corpo del testo, e un'anteprima sintetica, il modulo "forum" consente invece di creare uno spazio di discussione, etc.
I moduli aggiuntivi o "contributed" sono invece dei plugin che estendono le funzionalità di base di Drupal. Ognuno di questi moduli va installato a parte, e aggiunge una funzionalità (p.e. image consente di creare delle pagine contenenti immagini, users consente di creare una lista degli utenti visibile pubblicamente, etc.).
I moduli aggiuntivi differiscono da quelli di base, perché non sono realizzati dal nucleo centrale degli sviluppatori Drupal, ma, appunto, grazie al contributo di volontari. La principale differenza (oltre al fatto di dover essere installati a parte) è che il loro aggiornamento non è ritenuto necessario al rilascio di una nuova versione di Drupal. Se pianificate di avere un sito sempre aggiornato all'ultima versione di Drupal, considerate il fatto che i moduli aggiuntivi potrebbero essere aggiornati all'ultima versione con qualche mese di ritardo.
installazione dei moduli aggiuntivi
Per installare un modulo aggiuntivo è sufficiente eseguire quanto descritto nel file readme.txt ad esso allegato. Di solito si tratta di seguire i seguenti passi:
1. scaricare in locale il modulo aggiuntivo, assicurandosi che la versione del modulo sia adatta alla nostra installazione di Drupal. P.e. image-4.5 funzionerà con Drupal 4.5.1 o 4.5.2 ma potrebbe non funzionare con la versione 4.6.0
2. decomprimere il il file .tar.gz. In questo modo si otterrà una cartella (p.e. image-4.6) contenente tutti i file che costituiscono il modulo. Verificare il processo di installazione contenuto nel file readme.txt.
Nota: per decomprimere un file .tar.gz con winzip, è necessario salvarlo prima in locale, o si otterrà un file vuoto.
3. aprire il proprio client FTP (o il proprio browser, secondo gli strumenti messi a disposizione del provider) e copiare nella directory /modules del proprio sito la cartella che contiene i files che costituiscono il modulo aggiuntivo.
4. aggiornare il database sql (se necessario): talvolta, il modulo che si vuole installare richiede modifiche al database (tipicamente, la creazione di nuove tabelle). In questo caso, allegato al modulo ci sarà un file .sql. Effettuate le modifiche richieste utilizzando gli strumenti messi a disposizione dal vostro host (tipicamente, phpMyAdmin).
5. aggiornare la traduzione italiana (se disponibile): l'interfaccia del nuovo modulo sarà in inglese. Se la traduzione italiana è già disponibile, sarà allegata al modulo sotto forma di file it.po. Per inserire la traduzione, è sufficiente caricarla dalla maschera di amministrazione > lingue, in modo analogo a quanto già fatto per la traduzione di Drupal.
Questo modulo consente agli utenti che ne hanno i permessi, di caricare immagini su drupal. Le miniature vengono create automaticamente.
Le immagini possono essere inserite nella pagina iniziale (indice), incluse nelle storie o raggruppate in gallerie.
Nota: Questo modulo è stato completamente riscritto per la release 4.6 di Drupal.
Link utili:
Descrizione:
Il modulo image lavora in stretta connessione con il modulo taxonomy (tassonomia).
Appena installato, crea un nuovo vocabolario per le gallerie di immagini, vocabolario che associa in maniera automatica ad ogni nuovo contenuto di tipo Immagine.
Per configurare il layout della pagina che elenca le immagini, il modulo usa un proprio foglio di stile (image.css).
Quello che di solito disorienta un po' gli utenti che installano questo modulo, è che il collegamento alla gestione delle gallerie non salta subito agli occhi; per impostare tutti i parametri disponibili ci sono fondamentalmente due pagine:
In admin/image si impostano per l'appunto le gallerie. Tutto ciò che create qua, viene automaticamente aggiunto anche nella tassonomia, in modo da rendere possibile associare una nuova immagine ad una galleria, e mostrarla all'interno di essa. Si inserisce il nome della galleria, una descrizione, si stabilisce una gerarchia (se necessario) posizionando la galleria come padre o figlio di un'altra categoria, e un peso (l'ordine relativo, in gallerie che hanno la stessa gerarchia).
In admin/settings/image si imposta il percorso delle immagini, il numero di immagini visualizzate in una pagina e le dimensioni consentite.
La cartella che contiene le immagini è una sottocartella di files, la cartella predefinita per l'upload: attenzione a impostare i permessi di scrittura / lettura giusti.
Il numero di immagini determina l'organizzazione per righe o per colonne delle miniature (il numero di righe o colonne non è purtroppo personalizzabile, ma lo gestisce direttamente il modulo).
Le dimensioni consentite sono i vari ridimensionamenti che il modulo farà sulle immagini inserite, e che saranno disponibili agli utenti nella singola pagina dell'immagine.
Come si vede, bisogna lasciare almeno le due possibilità "miniatura" e "anteprima", altrimenti il modulo non funziona.
Nota: problema di traduzione
Una volta installata la traduzione italiana, la dimensione thumbnail verrà tradotta come miniatura. Ebbene, questo può portare a uno scompenso nella visualizzazione delle gallerie, nella pagina di anteprima che raccoglie tutte le gallerie (image).
Questo perché il modulo non trova più la dimensione thumbnail, che lui utilizza per l'anteprima della galleria, e quindi pesca un'altra dimensione.
Si verifica subito il corretto funzionamento del modulo andando in '?q=admin/settings/image' e ripristinando la traduzione thumbnail al posto di miniatura: quella casella diventa non più modificabile, non più cliccabile. E nelle anteprime delle gallerie l'immagine visualizzata è di nuovo la miniatura.
Stesso discorso con la dimensione anteprima che deve obbligatoriamente rimanere non tradotta, e cioè preview.
Per comodità, spesso si vuole offrire la possibilità agli utenti
del sito di poter caricare le immagini senza per questo fornirgli la "potenza"
di un gestore di upload integrato in un editor html visuale. L'esigenza è quella di avere immagini in miniatura nell'anteprima del nodo e immagini più
grandi nel corpo del nodo.
Link utili:
imagecache:http://drupal.org/project/imagecache - apri
il link in una nuova finestra
cck: http://drupal.org/project/cck - apri il link
in una nuova finestra
imagefield: http://drupal.org/project/imagefield - apri
il link in una nuova finestra
Premessa e requisiti tecnici.
Descrizione
Con Drupal molto spesso si può ottenere pressochè lo stesso risultato
attraverso differenti strade. Per questa esigenza una di queste strade potrebbe
essere cck.module, imagefield.module e imagecache.module.
Installazione:
Ok, ora dovrebbe essere configurato tutto correttamente. Per fare una verifica
inserite un contenuto con delle immagini e verificare le dimensioni delle immagini nel teaser
e nel body del nodo.
Image nodes permette di gestire le immagini, creando in automatico delle miniature
cliccabili.
Descrizione:
Imagecache e imagefields tornano molto utili quando vogliamo mostrare
delle miniature nell'anteprima del nodo e un'immagine più grande all'interno
del nodo. Ma se avessimo l'esigenza di voler creare in automatico delle miniature
(come fa imagecache) ma allo stesso tempo rendere tali miniature cliccabili
in maniera che quando ci si clicca sopra si vede l'immagine nella dimensione
da noi stabilita? Se poi volessimo anche poterci creare delle gallerie di immagini, allora non
ci resta che provare node_images.module.
Link utili:
Node Images: http://drupal.org/project/node_images - apri
il link in una nuova finestra
Installazione.
Come dicevo sopra, è possibile impostare manualmente il punto esatto dove visualizzare le immagini attraverso $node->node_images. Per fare questo inserite nel punto che desiderate in node.tpl.php il seguente codice:
<?php if ($node->node_images) { ?><br />
<!-- Node images --><br />
<td class="node-images" rowspan="2"><br />
<?php print $node->node_images ?><?php ?><br />
<div style="text-align:center;"><br />
<a href="<?php print url('node/'.$node->nid.'/image_gallery'); ?>">Gallery</a><br />
</div><br />
</td><br />
<?php }?>
Privatemsg consente agli utenti del sito di scambiare tra loro messaggi privati
Dettaglio
Questo semplice modulo inserisce un link "messaggi privati" nella barra di navigazione consentendo agli utenti di scambiare tra loro messaggi privati.
. Ultima versione: 4.6.0
. Traduzione italiana: disponibile
Installazione
1. creare le tabelle SQL:
mysql -u username -ppassword drupal < privatemsg.mysql
2. copiare il file privatemsg.module nella directory /modules di Drupal. Drupal individuerà automaticamente il modulo. Attivarlo dalla maschera amministra > moduli.
3. importa la traduzione inserendo il file it.po dalla maschera amministra > lingua
4. seleziona "accede ai messaggi privati" in amministra > controlli di accesso. Gli utenti anonimi non dovrebbero avere questo permesso. E' possibile configurare alcune impostazioni da amministra > impostazioni.
Particolarità
Nessuna.
Similar Entries mostra un blocco con i 5 nodi piu' simili al nodo che si sta visualizzando, basandosi sul titolo e sul corpo del messaggio.
Dettagli:
Installazione:
Entrare nell'interfaccia di amministrazione del database di drupal, scegliere la tabella 'node' ed eseguire la query:
ALTER TABLE node ADD FULLTEXT(title, body);
Copiare il file similar.module nella directory /modules di drupal, attivarlo dalla pagina /admin/modules ed attivare la visualizzazione del blocco in /admin/block.
Fatto :)
NOTA: Lo sviluppo di questo modulo sembra essersi fermato alla versione 4.5.0, ma io lo utilizzo ancora e senza riscontrare alcun problema sulle versioni 4.6.x.
Happy drupaling,
pOg
Taxonomy Access:Questo modulo consente di impostare delle politiche di accesso ai tipi di nodi non base.
Link utili:
Descrizione:
Questo modulo permette di implementare in drupal il controllo di accesso; il modulo ci consente di definire delle politiche di accesso (Leggi\Modifica\Crea\Non mostrare) per i tipi di nodi da noi creati (non per oggetti pagina, storia, ... ).
Lo scipt prevede che per un dato tipo contenuto siano applicati dei privilegi/negazioni, in questo modo è per esempio possibile creare un sito per gli users anonimi e uno per gli autenticati.
Il modulo è l'deale per creare delle comuniti dove ci sono molte persone che collaborano e che creano contenuti a seconda del loro ruolo.
Installazione:
1) Copia il file taxonomy_access nella cartella dei moduli
2) Abilita il modulo in Drupal (amministra -> moduli).
3) Abilita il sitema di acceso su amministra -> impostazioni -> Taxonomy_Access
Adesso il modulo è installato ma bisogna configurare i contenuti per i gruppi.
Un esempio potrebbe essere:
1)Creo un gruppo "Scrittori"
2)Vado nella pagina Amministra->Controlli di accesso->Category permission
3)Clicco sul "Modifica" del gruppo "Scrittori"
4)Imposto i permessi del gruppo rispetto ai contenuti mettendo le spunte
5)Applica
La pagina dei permessi del gruppo mostra i tipi di nodi a cui è possibile assegnare dei permessi. La presenza della Spunta abilita l'operazione (es. scrittura) la mancanza non ne concede il diritto.
Disinstallazione:
1) Dis-Abilita il sitema di acceso su amministra -> impostazioni -> Taxonomy_Access
2) Dis-Abilita il modulo in Drupal (amministra -> moduli).
Note:
1) Se un tipo di oggetto viene creato dopo l'intallazione del modulo e non vengono configurati i permessi, questi sono per impostazione predefinita su visibili.
2) Se abilito il modulo e poi non configuro nessun permesso tutti i nodi non base sono per impostazione predefinita su visibili.
3) Se creo un oggetto di tipo libro come questo:
e poi abilito la visione del libro "Protocolli" ai soli utenti autenticati scoprirò che il nodo di tipo libro non è completamente compatibile con il modulo e che nella realtà io amministratore avrò vietato agli utenti anonimi solo il nodo radice e non tutte le sue foglie. Se si ha necessita di porre vincoli sulle foglie consiglio di creare collegamenti al nodo padre su cui il modulo funziona e mai alle foglie; se ciò non fosse possibile consiglio node_access_by_byrole.
Attenzione: guida in fase di redazione/aggiornamento.
Ubercart è una soluzione open source sviluppata per Drupal ideale per la vendita di prodotti consegnabili, per la vendita di files da scaricare e per la vendita di accessi al sito solamente a persone registrate.
Installazione
È possibile installare Ubercart in due modi:
UberInstaller: installazione automatica di Ubercart!
Questo tipo di installazione automatizza l'intero processo di download dei files richiesti installando Drupal, i moduli ed impostando il primo utente e facendo eseguire lo script di installazione.
Da notare che tale script funziona solamente per nuove installazioni di Drupal.
filebrowser permette agli amministratori di esporre una directory con tutte le eventuali sottodirectory in uno stile FTP adatto per la gestione dei download. Le metainformazioni sui file sono supportate attraverso i file descript.ion o files.bss.
Il modulo inoltre, nasconde ogni cartella di tipo CVS e .svn.
Link utili
Installazione e configurazione:
Copiare il file filebrowser.module nella directory /modules di drupal, attivarlo dalla pagina /admin/modules e configurarlo dalla pagina /admin/settings/filebrowser.
La directory che avrete settato nelle opzioni sarà quella esposta per il download.
Potete anche uploadare e selezionare una cartella contenente le immagini icone dei file che avete esposto. Le icone devono essere nominate file-txt.png, file-gif.png, etc. Per tutte le estensioni per cui non avete caricato un'icona verrà mostrata l'icona di default che avrete nominato file-default.png. L'icona delle directory va chiamata file-folder.png.
Nella configurazione si può scegliere se far visualizzare i file .ion o nasconderli agli utenti.
Uso del file descript.ion
Caricando nelle directory un file nominato descript.ion (supporta l'inserimento di html!) potrete scrivere una descrizione per ogni file ed una introduzione alla pagina.
Sintassi:
. La descrizione della cartella o del contenuto generale la si scrive qui
. si possono inserire più linee di descrizione
Nome_Cartella qui_va_la_descrizione_della_cartella
Nome_File_completo_file.pdf descrizione_file_pdf
Le icone
Ho preparato un zip contenente alcune icone più usate. Le icone le ho prese dal pacchetto Nuvola di Kde-look.org. Il tutto è sotto licenza LGPL.
Qui trovate il set di icone.
Basta decomprimerlo sul vostro server e dal pannello di configurazione del modulo indicare la directory delle icone.
Sviluppi
Questo modulo non è stato mantenuto per diverso tempo. Adesso le redini sono passate a Susurrus che si occuperà di aggiornare e mantenere filebrowser.
La nuova versione per drupal6 di filebrowser contiente molte migliorie come ad es:
Form_mail serve ad inviare per posta elettronica i dati inseriti in un form (*).
Dettagli:
Installazione:
Copiare il file form_mail.module nella directory /modules di drupal, attivarlo dalla pagina /admin/modules.
Configurazione:
Il modulo si configura alla pagina admin/settings/form_mail, dove e' possibile scegliere il destinatario della e-mail.
NOTA: Il modulo form_mail consente solamente di inviare i dati inseriti in un form ad uno (o piu') destinatari senza fornire la possibilita' di creare i form stessi. Per farlo funzionare bisogna creare un tipo di contenuto PHP e chiuderlo colla stringa:
echo form($form, "post", "form_mail");</a>.
Ad esempio, per far andare la mia <a href="http://www.botulinux.net/contatti">pagina dei contatti</a>, ho creato un nodo di tipo PHP intitolato 'Contatti' contenente questo corpo:
<code>$form .= form_hidden("to", "(il_mio_indirizzo@di_posta.it");
$form .= form_textfield("Nome", "from_name", "", 60, 128);
$form .= form_textfield("E-mail", "from_email", "", 60, 128, "Lascia il
tuo indirizzo di posta elettronica se ti aspetti una risposta!");
$form .= form_textfield("Oggetto", "subject", "", 60, 128);
$form .= form_textarea("Messaggio", "body", "", 60, 15);
$form .= form_submit("Invia!");
echo form($form, "post", "form_mail");
?>
Happy drupaling,
pOg
Poormanscron:Questo modulo consente di far funzionare le operazioni pianificate senza un servizio di pianificazione come il cron (*nix) o at (win)
Link utili:
Descrizione:
Drupal per lavorare correttamente ha bisogno che a determinati intervalli di tempo vengano svolte delle operazioni specifiche (pulizia cache,pulizia user online...).
Il modulo Poormanscron consente di eseguire le operazioni "pianificate" in quei sistemi dove l'amministratore non abbia accesso ai servizi delle operazioni pianificate.
Questo modulo è quindi indispensabile in tutte le installazioni su server condivisi come aruba.
Installazione:
1) Copia il file poormanscron.module nella cartella dei moduli
2) Abilita il modulo in Drupal (admministra -> moduli).
Questa pagina raccoglie le informazioni sulla realizzazione e sull'uso della traduzione italiana di Drupal.
La traduzione è liberamente scaricabile direttamente sul sito ufficiale o dalla pagina di download qui, su Drupal Italia.
Hai deciso di collaborare al progetto Drupal Italia? Benvenuto a bordo!
Il documento ufficiale contenente tutte le istruzioni per la traduzione, è la Drupal Translator Guide. E' bene che tutti i traduttori la leggano.
Seguono comunque alcune note riassuntive del processo di traduzione.
Modularità di Drupal e traduzione
Drupal è costituito da un'insieme di moduli:
A partire da Drupal 4.5, ciascun modulo (base o aggiuntivo) va tradotto singolarmente: i file di traduzione vengono quindi depositati in formato GNU Gettext (.po) sul server CVS di gestione delle versioni.
Le traduzione dei moduli base vengono raccolte in un'unica directory da cui vengono prelevate da uno script. Lo script le riunisce in un unico file it-xxx.po, messo poi a disposizione sul sito ufficiale drupal.org.
Al momento in cui scrivo, sono presenti sul repository due file relativi ai moduli base
La traduzione dei moduli aggiuntivi vengono inserite sullo stesso server CVS, ma nell'alberatura relativa al modulo a cui si riferiscono. Per esempio, la traduzione del modulo smileys si troverà nella directory smileys/po del modulo. In questo modo è possibile scaricarle assieme al modulo stesso. Se volete iniziare a tradurre un modulo aggiuntivo andate nel post: Note di traduzione dei moduli aggiuntivi.
Nota 1: per iniziare a tradurre un modulo, è necessario iniziare da un template di traduzione, un file con estensione POT, contenente le stringhe traducibili. Spesso è inserite assieme alle traduzioni in altre lingue, nella cartella po del modulo. A volte però non è aggiornato, oppure non è proprio presente. Per ovviare a questo, usate il modulo POTX. Per usarlo, installalo in drupal, abilitate i moduli potx e locale e controllate di aver abilitato anche il modulo di cui volete creare il template E TUTTI I MODULI CHE DIPENDONO DA QUESTO; esempio: se il modulo event ha un sotto-modulo che richiede il modulo gmap, dovrete abilitare anche gmap e il sotto-modulo di event che lo richiede!. Andate su localizzazione e su manage strings. Selezionate il modulo e premete extract. Se un pacchetto modulo, comprende più file .module, estraete tutte le stringhe in un solo file pot. L'opzione la trovate proprio sopra il link a scomparsa. (per maggiori informazioni, Template di traduzione)
Nota 2: nelle versioni precedenti di Drupal, la traduzione veniva inserita tramite un'unico enorme file it.po. Scomporre questo file è possibile ma laborioso. A meno di esigenze particolari, è quindi consigliabile iniziare ogni nuova traduzione dal template di traduzione relativo al modulo da tradurre.
Nota 3: nel realizzare la traduzione di un modulo, occorre assicurarsi di stare lavorando sull'ultima versione disponibile del relativo template di traduzione xxx-module.po.
Strumenti di traduzione
Per quanto riguarda la descrizione del formato GNU Gettext in cui vengono tradotti i moduli, vi rimando alla Drupal Translator Guide. I programmi di traduzione sono documentati qui. Personalmente utilizzo PoEdit, che ho trovato piuttosto semplice da utilizzare sia sotto Win che Linux. Raccomando di conoscere le linee guida per la coerenza della traduzione.
Nota: sono stati riscontrati problemi di compatibilità nell'importare i file .po tradotti con Kbabel. L'uso di questo programma è sconsigliato
Nota sui plurali
Il formato Gettext consente di gestire i plurali in modo diversi a seconda della lingua. Per l'italiano, utilizzate la stringa
nplurals=2; plural=n != 1;
Per PoEdit, questa stringa va inserita nel menù
Catalogo > Impostazioni > Forme di plurale
Nota sulle variabili
Nel realizzare una traduzione, vi capiterà di trovare spesso dei nomi preceduti da un segno di percentuale %, come %date, %author, %user, etc. Questi nomi sono delle variabili e vengono sostituiti da Drupal con il corrispondente contenuto durante la creazione della pagina.
Nella traduzione, le variabili vanno lasciate invariate altrimenti il sistema non sarà in grado di riconoscerle.
Esempio:
By %author on %date = Da %author il %date
Nota: lo stesso principio vale per tutti i caratteri speciali e in particolar modo per gli URL in HTML.
Aggiornamento di moduli di traduzione a una nuova versione
Può capitare di avere a disposizione la traduzione di una vecchia versione di un modulo (p.e. smiley-module.po, versione 4.7.x) e di volerlo aggiornare a una nuova versione (p.e. 5.1).
Per fare questo, è necessario per prima cosa ottenere un template della nuova versione, dal server CVS (vedi sotto) o generandolo in autonomia.
Una volta ottenuto il template, con PoEdit, aprire il vecchio file. Selezionare poi
Catalogo > Aggiorna da file POT
e scegliere il nuovo template. Le nuove frasi verranno aggiunte, e le frasi obsolete scartate, ottenendo una traduzione parziale ma coerente con il nuovo template.
Nota: con PoEdit, avendo a disposizione un certo numero di moduli già tradotti, è possibile impostare l'opzione 'catalogo' per la traduzione automatica delle frasi. Leggi la documentazione di PoEdit per saperne di più.
Server CVS Drupal.
L'ambiente di lavoro dei traduttori è il server CVS di drupal.org. Il server utilizza il sistema di versioning CVS descritto qui: è possibile chiedere un'utenza qui (viene attivata normalmente nel giro di un paio di giorni). Come descritto nel README del server, tutti gli utenti autorizzati possono inserire nuovi files nel server CVS, ma vale una politica di 'buone maniere'. Se avete realizzato una traduzione di cui non siete direttamente responsabili, contattate il responsabile e rendetegliela disponibile.
Topic di riferimento: http://www.drupalitalia.org/node/3356
Le traduzioni possono essere scaricate dal nostro sito di traduzione, il localization server, alla pagina dell'esportazione dei file di traduzione.
Per vedere tutti i progetti (moduli) in traduzione puoi vedere la lista dei progetti.
Almack ha fatto una guida per esportare i file di traduzione. Le pagine sono leggermente cambiate ma dovrebbero andare bene lo stesso. Se ne volete fare un'altra aggiornata siete i benvenuti.
Per partecipare come traduttore potete seguire il video che ho realizzato e iscrivendovi nel sito di traduzione, anche tramite il [email protected] e la vostra password che usate qui.
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;
}