Cos'è una Entità
Una Entità è un insieme strutturato di dati che viene creato, modificato o eliminato come un tutt'uno: ad esempio, se una Entità viene eliminata, vengono cancellate tutte le informazioni in essa contenute; se un Utente ha il permesso di modificare una Entità, può modificarne tutte le informazioni.
Entità di contenuto ed Entità di configurazione
In Drupal ci sono due famiglie di Entità: le Entità di contenuto (content entities) e le Entità di configurazione (configuration entities). Come suggerito dal nome, una Entità di contenuto è un insieme di dati che rappresenta una informazione gestita dalla app, mentre una Entità di configurazione è un insieme di dati che rappresenta una configurazione della app. Ad esempio, un Utente è una Entità di contenuto, mentre il profilo che regola tutti gli Utenti è una Entità di configurazione; nel seguito vedremo molte Entità di configurazione, tra cui le Viste, i Menù, i Blocchi, i Formati di testo ecc.
Se non specificato diversamente, nelle Guide di MieApp con "Entità" intendo sempre "Entità di contenuto".
Tipi di Entità
Nelle Guide precedenti abbiamo già incontrato Entità: ogni Utente è infatti gestito in Drupal come una Entità. Drupal gestisce diversi tipi di Entità: Contenuti, Utenti, Termini di Tassonomia, File, Media, Commenti ecc. I moduli aggiuntivi di Drupal possono aggiungere altri tipi di Entità, ad esempio i Gruppi. Per ogni tipo di Entità, Drupal mette a disposizione specifiche funzioni: ad esempio, solo le Entità di tipo Utente possono fare login, solo le Entità di tipo File hanno una dimensione, espressa in KB. Alcuni tipi di Entità prevedono una ulteriore specializzazione, chiamata Bundle. I tipi di Entità predefiniti in Drupal e i corrispondenti Bundle sono:
| Tipo di Entità | Sottotipo (bundle) | A cosa serve |
| Contenuto (content, detto anche node) | Tipo di Contenuto (content type) | I Contenuti sono il tipo di Entità più utilizzato nelle app. Per ogni tipologia di informazione si crea un Tipo di Contenuto differente. |
| Termine di tassonomia (taxonomy term, term) | Tassonomia (taxonomy, vocabulary) | Le Tassonomie sono usate come "vocabolari" di termini con cui etichettare i Contenuti |
| Utente (user) | Sono gli Utenti della app | |
| Media (media) | Tipo di Media (media type) | File, immagini, audio, video |
| Commento (comment) | Tipo di Contenuto del Commento | Commenti degli Utenti sulle altre Entità |
L'identificativo di Entità
Ad ogni Entità (comprese quelle di configurazione) è associato un numero intero che lo identifica univocamente rispetto alle altre Entità dello stesso tipo. Ad esempio, l'Amministratore è l'Utente identificato dal numero "1" ed è l'unico Utente ad avere quel numero, mentre nulla vieta che vi sia un Contenuto o un File identificati da "1". Il numero univoco è assegnato automaticamente da Drupal all'Entità nel momento in cui viene creata e non può essere modificato, neppure dall'Amministratore. Se l'Entità viene eliminata, il suo identificativo non viene riciclato.
L'identificativo è memorizzato in un apposito Campo dell'Entità. Il nome di quel Campo varia leggermente col tipo di Entità: ID per i Contenuti, UID per gli Utenti, TID per i Termini di Tassonomia ecc.
La pagina dell'Entità
Ad ogni Entità è associata una pagina che ne mostra le informazioni. L'indirizzo di questa pagina differisce in base al tipo di Entità. Ad esempio, per i Contenuti è
/node/ID
dove ID è l'identificativo del Contenuto, mentre per gli Utenti è:
/user/UID
e per i Gruppi é
/group/GID