Abbiamo già visto altre volte come Drupal sia molto più che un semplice CMS (Content Management System), perché la sua estrema flessibilità permette di configurarlo e modificarlo a piacere, molto spesso senza dover nemmeno sviluppare moduli aggiuntivi. Ciò è particolarmente vero dalla versione 7 di questo software, nella quale sono stati inclusi nel core core diversi moduli che prima andavano installati e configurati a parte; in particolar modo vogliamo citare Content Construction Kit (CCK), un modulo davvero molto potente che permette di aggiungere campi di vario genere ai propri contenuti, creando delle vere e proprie strutture dati e relativi widget per l’editing.
Registrazione utente
Drupal possiede già le classiche funzionalità di registrazione utente; è possibile infatti aggiungere utenti manualmente, collegandosi come administrator, oppure lasciare che siano gli utenti ad auto-registrarsi, potendo comunque approvarne o meno l’attivazione. Fin qui nessuna novità! Quello che interessa a noi, però, è aggiungere una funzionalità molto comune sui siti di tipo community o collaborativi: vogliamo che gli utenti accettino il regolamento del sito all’atto della registrazione, impedendogli di proseguire se non lo fanno. Per farlo utilizzeremo quindi Drupal 7 senza alcun modulo aggiuntivo.
Configurazione
Partiamo da un’installazione Standard di Drupal 7 (non Minimal perché troppo limitata) e, dopo aver eseguito la login come administrator, eseguiamo questi passi di configurazione:
- andiamo nella sezione Configuration dell’amministrazione, e clicchiamo sulla sezione Account settings;
- nel riquadro Registration and cancellation assicuriamoci che sia abilitata l’auto-registrazione degli utenti: alla domanda Who can register accounts? deve essere selezionata la voce Visitor oppure Visitors, but administrator approval is required;
- clic sul tab Manage Fields, in alto a destra;
- aggiungere un nuovo campo in corrispondenza di Add new field (vedi immagine);
- Label: “Accettazione Regolamento”;
- il valore di Machine name viene assegnato automaticamente in base alla label (dovrebbe essere quindi field_accettazione_regolamento), ma si può comunque cambiare manualmente cliccando su Edit;
- Field: Boolean;
- Widget: Single on/off checkbox;
- cliccare su Save
Dopo aver salvato si apre la pagina successiva, Field Settings: lasciare vuoti i campi On value e Off value e salvare.
Nella pagina User Settings dobbiamo specificare meglio il comportamento del nuovo campo Accettazione Regolamento:
- selezionare Required Field;
- in Help Text inserite il codice HTML del testo completo del regolamento;
- selezionare il checkbox Use field label instead of the “On value” as label;
- Salvate.
Per quanto riguarda il testo del regolamento, ci permettiamo di dare un paio di consigli:
- fate in modo che il testo del regolamento sia completo, chiaro, senza errori. Se la community comincia a riscuotere ha un buon successo, vi consigliamo addirittura di far redarre o correggere il testo da un legale esperto in materia (non si sa mai!);
- specificate bene all’inizio che, se non viene accettato il regolamento, la registrazione non può proseguire. Questo semplice accorgimento ridurrà notevolmente il numero di registrazioni fallite.
Test
Ora che abbiamo predisposto tutto l’occorrente, possiamo provare la nuova procedura di registrazione. Eseguiamo il Log out e andiamo sulla homepage. Se avete un’installazione standard, senza personalizzazioni, dovreste avere un link Create new account appena sotto il blocco di Log in:
Cliccandoci sopra si arriva dunque al form di registrazione, dove potremo inserire il nome utente scelto e l’email per i contatti. Se tuttavia non selezioniamo Accettazione Regolamento ci compare un messaggio di errore, e non possiamo proseguire:
E per chi usa ancora Drupal 6?
È possibile realizzare questa funzionalità anche su Drupal 6, in tal caso però sarà necessario installare il modulo CCK (cfr. Links) e abilitare il modulo profile (incluso nel core). Il resto della procedura è molto simile a quanto descritto per la versione 7.