Descritta - anche sommariamente - la app che vuoi costruire, ecco come tradurre quella descrizione in una configurazione di Drupal che si comporta come la tua app, utilizzando gli strumenti che Drupal ti mette a disposizione. L'ordine qui proposto non è obbligatorio ed anzi è quasi invitabile ripetere più volte i diversi passaggi, a mano a mano che la sperimentazione della app evidenzierà dettagli non analizzati o veri e propri errori di impostazione iniziale. Nelle Guide successive (anch'esse presentate circa nello stesso ordine logico) vedremo i dettagli per eseguire questi passaggi.
Rappresentare le informazioni con le Entità
Partendo dalle Informazioni che la app deve gestire, il modo più semplice per rappresentarle in Drupal è creare per ogni tipo di Informazione uno o più tipi di Entità in cui memorizzarne i dati. Per gli esempi di app visti nella Guida precedente, possiamo quindi creare in Drupal il tipo di Entità "Oggetto" per gestire gli oggetti da prestare, il tipo di Entità "Prestito" per gestire le informazioni relative ad un prestito, il tipo di Entità "Consegna" per gestire le informazioni sulle consegne previste ed effettuate ecc. Drupal consente di creare in modo intuitivo e guidato tutti i tipi di Entità che servono per rappresentare le Informazioni da gestire nella app. Creato un tipo di Entità, Drupal mette subito a disposizione le funzioni di creazione, modifica, visualizzazione e cancellazione di Entità di quel tipo, nonché le relazioni tra di loro (es. la relazione che lega un Prestito all'Oggetto prestato o la relazione che lega un Oggetto all'utente suo proprietario).
Gestire gli Utenti
In particolare, per la gestione degli utenti Drupal mette a disposizione il tipo di Entità predefinito "Utente", per il quale sono disponibili non solo le funzioni di creazione, modifica, cancellazione, ma anche quelle di autoregistrazione, login, logout ed altre ancora, tipiche della gestione utenti.
Categorizzare gli utenti coi Ruoli
Se la tua app prevede diverse categorie di utenti, in Drupal conviene creare per ognuna di esse un Ruolo. Sempre negli esempi già visti, potremo creare i Ruoli "Vicino", "Gestore" e "Operatore". Fin qui i Ruoli sono semplicemente delle etichette da applicare agli Utenti per categorizzarli, ma vedremo da poco come Drupal usa i Ruoli per definire cosa gli Utenti possono fare nella app.
Proteggere le Informazioni coi Permessi
Costruiti i tipi di Entità e i Ruoli, Drupal mette a disposizione funzioni per rilasciare ai Ruoli diversi Permessi (creazione, modifica e cancellazione di Entità proprie e altrui ecc.) sui diversi tipi di Entità Sempre attraverso i Permessi, Drupal consente di autorizzare o negare ai Ruoli la possibilità di utilizzare le altre funzioni disponibili in Drupal (es. la creazione di nuovi utenti). Vedremo più avanti che la protezione offerta dai Permessi può essere arricchita con meccanismi di protezione più sofisticati, grazie all'installazione di moduli aggiuntivi (es. coi Gruppi è possibile creare comunità di Utenti e Entità con Ruoli che valgono solo all'interno del Gruppo).
Costruire i Percorsi con le Viste e i Menù
Per la costruzione delle pagine e dei comandi previsti dalla tua app, Drupal mette a disposizione le Viste, un potentissimo strumento di presentazione delle Entità cui dedicherò molto spazio nelle Guide. Con le Viste si possono configurare pagine della app che vengono automaticamente popolate con le informazioni delle Entità, filtrate ed ordinate a piacere, mescolando dati presi da diversi tipi di Entità (es. i dati personali di un Operatore e l'elenco delle Sedi in cui è autorizzato a operare). Con le Viste è anche possibile aggiungere alle pagine comandi che appaiono solo se il contesto lo richiede (es. il comando "Prendi in prestito questo Oggetto" che appare solo se l'Oggetto mostrato non appartiene all'Utente che lo sta guardando). Oltre alle Viste, Drupal mette a disposizione anche funzioni per costruire diversi Menù di comandi, che a loro volta richiamano azioni o Viste.
Aggiungere Funzioni con i Moduli
Le funzioni necessarie per gestire Entità, Utenti, Ruoli, Permessi, Viste, Menù e molti altri aspetti di Drupal che presenteremo via via che ci serviranno sono messe a disposizione dai Moduli di cui è composto Drupal. Anche se l'insieme delle funzioni base di Drupal è molto ampio, è probabile che nella costruzione della tua app ti servano funzioni più specifiche (es. mostrare le Sedi su una mappa geografica). In questi casi, la soluzione è cercare il Modulo aggiuntivo che offre quella funzione ed aggiungerlo nella installazione di Drupal. I Moduli possono anche aggiungere nuovi tipi di Entità (con funzioni dedicate ad essi), nuovi tipi di protezione ecc.
Dalle automazioni alle ECA
Per far eseguire automaticamente a Drupal azioni in modo periodico o come conseguenza di una azione di un Utente, si possono disegnare procedure ECA (Event - Condition - Action), che spiegano a Drupal quali azioni eseguire quando accade un certo evento sotto certe condizioni. Le ECA sono forse la cosa che si avvicina di più alla programmazione in Drupal, ma non richiede conoscenza di linguaggi specialistici ed usa tutti gli altri strumenti Drupal che nel frattempo avrai imparato a conoscere (Entità, Utenti, Viste ecc.). Le ECA sono un ottimo esempio di funzione aggiunta con l'installazione del Modulo omonimo.