Headless CMS con Strapi

Ascolta il post con il mio commento personale


Strapi è un Headless CMS, questo significa che a differenza delle versioni "classiche" non ha integrato un sistema di templating ma solo uno di API tramite il quale un sistema frontend può reperire i dati.

Questo schema forse può chiarirti le idee:

cms_headless

Come si può vedere, un Headless CMS ha con sè solo i dati "grezzi", mentre è il frontend ad organizzarli e gestire la grafica.

Strapi gestisce 3 tipologie di entità:

  • Collection
  • Single Collection
  • Component


COLLECTION

Possono essere paragonate alle tabelle di un database e sono relazionali tra di loro. In ogni collection possiamo inserire quante righe vogliamo nei limiti del database associato.


SINGLE COLLECTION

Stessa tipologia di una collection ma con la differenza di 1 sola riga.

L'uso più comune infatti è quello a modo "file di configurazione".


COMPONENT

Insieme di campi che possono essere singoli oppure ripetuti.

Molto comodo se ad esempio abbiamo un gruppo di campi che sono usati in diverse collection.

Es. title, meta title, meta description

Questi campi potremmo inserirli in una componente "descrizione base" ed inserirla in una collection senza dover ogni volta creare i campi a mano.

L'uso principale è nella creazione di campi che si devono ripetere più volte come ad esempio i tag


DETTAGLI TECNICI
  • Linguaggio/framework: Node.js
  • Tipo API: REST, GraphQL
  • Tipo di database usati: sqlite, mysql, postresql

PRO

  • open source e con piani gratuiti
  • possibilità di creare entità con blocchi "ripetibili" e "ordinabili": un ottimo sistema per creare dei blocchi per una pagina e ordinabili dinamicamente
  • sistema di utenti e permessi a livello entità
  • possibilità di relazionale le entità e creazione di "componenti" riusabili in più entità

CONTRO

  • le entità create si basano principalmente su un modello E/R (entità - relazione), questo significa che siamo limitati sotto l'aspetto tecnico dei database (non si possono usare database NoSQL)
  • la creazione di entità è possibile solo nella modalità sviluppo
  • per ogni nuova creazione di entità il sistema riavvia Node.js

Vuoi avere maggiori informazioni a riguardo?

Scopri come posso aiutarti

Scegli il metodo che più preferisci per contattarmi, clicca qui sotto

Contattami
Commenti offerti da Disqus