Nomenclatura e entità

Chi si avvicina a Drupal per la prima volta si scontra quasi subito con un vocabolario specifico. Termini come node, field, bundle o entity vengono usati nella documentazione e nelle discussioni della community con una precisione tecnica che presuppone familiarità. Capire cosa significano questi termini, e come si relazionano tra loro, è il prerequisito per lavorare con Drupal in modo consapevole.

Il concetto di entità

In Drupal tutto ruota attorno al concetto di entity. Un'entità è qualsiasi oggetto che il sistema può gestire, archiviare e recuperare: un articolo, un utente, un commento, un blocco di contenuto, un termine di tassonomia. Questa astrazione è fondamentale perché permette a Drupal di trattare tipi di dati molto diversi con la stessa logica di base.

Le entità si dividono in due categorie principali:

  • Content entities: contengono dati editoriali e possono avere campi personalizzati. Esempi: nodi, utenti, termini di tassonomia, commenti, media.
  • Configuration entities: definiscono la struttura e il comportamento del sito. Esempi: tipi di contenuto, vocabolari, ruoli utente, view.

Nodi e tipi di contenuto

Il node è l'entità content più usata in Drupal. Ogni pezzo di contenuto principale, un articolo, una pagina, una scheda prodotto, è un nodo. I nodi si organizzano per content type (tipo di contenuto): una struttura che definisce quali campi sono disponibili per quel tipo specifico.

Un sito Drupal tipico ha più tipi di contenuto distinti. Un portale editoriale potrebbe avere "Articolo", "Comunicato stampa" e "Evento": tre content type con campi diversi, comportamenti diversi, permessi diversi. Questa separazione permette di modellare la struttura dei contenuti in modo preciso, senza forzare tutto in un unico schema generico.

Campi e bundle

I field sono i mattoni con cui si costruisce la struttura di un'entità. Ogni campo ha un tipo: testo, numero, data, immagine, riferimento a un'altra entità. I campi possono essere riusati tra entità diverse, e questa riusabilità è una delle caratteristiche che distingue Drupal da sistemi più rigidi.

Il termine bundle indica una variante specifica di un tipo di entità. Nel caso dei nodi, il bundle coincide con il content type: "Articolo" è un bundle dell'entità Node. Questa distinzione diventa più rilevante quando si lavora con entità personalizzate, dove bundle diversi possono avere strutture di campi completamente differenti.

Tassonomia

La tassonomia in Drupal è un sistema di classificazione dei contenuti basato su vocabolari e termini. Un vocabolario è un insieme organizzato di termini: "Categorie", "Tag", "Regioni geografiche" sono esempi di vocabolari. Ogni termine è un'entità a sé, il che significa che può avere campi aggiuntivi, essere referenziato da altri contenuti e avere una gerarchia interna.

Una nota sul vocabolario in evoluzione

Con l'introduzione di Drupal CMS e Canvas, parte della nomenclatura si sta spostando verso termini più vicini al mondo del design e del frontend: componenti, slot, template. Questi concetti si affiancano al vocabolario storico senza sostituirlo completamente, almeno per ora. Chi lavora su progetti Drupal esistenti continuerà a confrontarsi con nodi, bundle e View ancora a lungo.

Questo sistema è più potente di una semplice lista di tag: permette di costruire strutture classificatorie complesse che riflettono la logica editoriale del sito, non solo l'abitudine di etichettare i post.

Utenti e permessi

Gli user sono entità content come i nodi, con campi personalizzabili e un sistema di ruoli che definisce cosa ogni utente può fare. I ruoli raggruppano insiemi di permessi, e i permessi in Drupal sono granulari: non si tratta solo di "può pubblicare" o "non può pubblicare", ma di controllo preciso su ogni operazione disponibile nel sistema, per ogni tipo di contenuto, per ogni entità.

Questa granularità è una delle ragioni per cui Drupal viene scelto in contesti con team editoriali complessi o requisiti di governance stringenti.

View e blocchi

Le View sono query visuali al database che producono liste di contenuti. Con il modulo Views, incluso nel core da Drupal 8, è possibile creare elenchi di nodi, utenti, termini o qualsiasi entità, filtrarli, ordinarli e presentarli in formati diversi, senza scrivere codice SQL. È uno degli strumenti più potenti e più usati dell'ecosistema Drupal.

I blocchi sono unità di contenuto o funzionalità che possono essere posizionate nelle regioni del tema. Un blocco può contenere testo statico, l'output di una View, un form, un menu. Il sistema di blocchi è il meccanismo principale con cui si costruisce la struttura visuale di una pagina in Drupal tradizionale, prima dell'introduzione di Layout Builder e Canvas.