Moduli aggiuntivi

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.

Introduzione

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.

Image (Immagine)

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:

  • admin/image
  • admin/settings/image

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.

Imagecache con Imagefield

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.

  • I moduli aggiuntivi considerati sono: imagecache, cck, imagefield, node_images
  • Ho provato questi moduli con le seguenti configurazioni:
    • Drupal 5.1
    • Metodo di download configurato in Amministra » Configurazione
      del sito » File system:
      "Pubblico - i file sono resi disponibili utilizzando direttamente
      l'HTTP."
    • Modulo upload.module attivato e funzionante
    • Sistema operativo del server: Linux

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:

  1. Imagecache.
  • Installate il modulo imagecache.module
  • Spostatevi in "Configurazione del sito" -> "Image cache".
    Vedrete la voce "New Preset".
  • Cosa è un preset. Un "preset" è un'azione che volete applicare ad un'immagine.
    Nel nostro caso vogliamo che nell'anteprima del nodo vengano visualizzate
    immagini piccole, e cliccando sul nodo vogliamo che nel corpo del nodo
    le stesse immagini vengano visualizzate ad una dimensione più
    grande, mentenendo comunque le proporzioni delle immagini. Tutto in automatico. Abbiamo quindi
    bisogno di creare due presets: uno che gestisca le dimensioni della miniatura
    delle immagini e uno che gestisca l'immagine ad una dimensione più
    grande nel corpo dei contenuti.
  • Date quindi un nome prima al preset che gestisce le miniature e poi al
    preset che gestisce le immagini grandi. Non inserite gli spazi per i nomi
    dei presets. Per fare questo cliccate su "New preset".
  • Successivamente vedrete l'etichetta "Add a New Action". Selezionate "Scale"
    e poi cliccate il pulsante "Update Preset".
  • Verrete indirizzati ad una schermata dove vi viene chiesta la Larghezza
    e l'Altezza. Inserite i valori che vi servono.
  • Colleghiamo imagecache con cck e imagefiled.
    • Ora andate nella schermata "Gestione contenuti" -> "Tipi
      di contenuto"
    • Cliccate sul link "modifica" di fianco al tipo di contenuto
      dove volete applicare i presets di imagecache precedentemente creati.
    • Cliccate sulla scheda "Aggiungi un campo".
    • Nella scheda "Create new field" in fondo alla pagina vedrete
      la voce "Image". Selezionatela e cliccate su "Create field".
    • Impostate i campi della schermata successiva in base alle vostre necessità.
    • Dopo aver cliccato su "Save fields" tornate all'elenco dei tipi
      di contenuto e cliccate sul link modifica.
    • Ora per collegare il modulo imagecache al modulo imagefield cliccate su
      "Display fields".
    • Vedrete una tabella con cinque colonne: Field, Tipo, Label, Teaser e Full.
    • Sotto le etichette Teaser e Full dovrebbero apparirvi i nomi dei presets
      che avete inserito nella schermata di configurazione del modulo imagecache.
      Selezionate nel Teaser il preset che avete impostato per le immagini piccole
      e nel Full il preset che gestisce le immagini grandi.

    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.

    Node images

    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.

    • Installate il modulo node_images.module
    • Spostatevi in "Configurazione del sito" -> "Node images". Qui impostate le varie opzioni in base alle vostre necessità.
    • Un'altra configurazione di node_images la trovate sotto la voce "Tipi di contenuto", dove potete stabilire diverse opzioni di visualizzazione delle immagini. Potete stabilire:
      • dove mostrare le immagini (sotto o sopra il corpo del nodo, non mostrarle, o settare manualmente mostrarle manualmente attraverso la $node->node_images);
      • attivare o disattivare i link alla galleria delle immagini;
      • il numero di immagini nell'anteprima del nodo;
      • il numero di immagini nel corpo del nodo;
      • il formato delle immagini nell'anteprima del nodo e nel corpo del nodo. Per formato qui si intende:
        • Thumbnails
        • Full size
    • Dopo aver configrato queste opzioni, per provare questo modulo non dovete fare altro che andare a creare un nuovo contenuto. Dopo che lo avrete creato vi apparirà in automatico una voce chiamata "Click the images tab to add images to this node." Infatti se fate caso sui tab in alto ce n'è uno in più chiamato "Images". Cliccateci sopra e verrete indirizzati ad una pagina dove potrete esegurie gli uploads.
    • Caricate una o due immagini per fare qualche prova e salvate. Ora andate a visualizzare il nodo e vedrete il comportamento delle immagini.

    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 (messaggi privati)

    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 (messaggi simili)

    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

    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:

    • Protocolli
      • NetBios
      • IP
        • TCP
        • UDP
      • HTTP

    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.

    Uccio

    Ubercart

    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:

    • tramite lo script di installazione automatico presso questo indirizzo
    • manualmente, reperendosi tutti i moduli necessari

    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

    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:

    • con il ". (spazio)" si dichiara che quello che si sta scrivendo è un titolo. Si possono scrivere diverse righe basta specificare ad ognuna di esse il punto all'inizio
    • per inserire una descrizione si deve scrivere il nome della cartella o del file, inserire uno spazio e poi scrivere la descrizione come nell'esempio qui sotto.
      Nome cartella/file.estensione (spazio) descrizione

    . 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

    Il nome del file o cartella non deve contenere spazzi altrimenti la descrizione non viene visualizzata, naturalmente nella descrizione potete inserire degli spazzi e codice html (per link ecc.)

    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:

    • permessi singoli per cartella
    • sistema per conoscere se qualcuno ha caricato un nuovo file (usando dei tag)

    form_mail

    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");
    ?&gt;

    Happy drupaling,
    pOg

    poormancron

    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).

    Uccio