Grav: il CMS senza database
Attenzione
Questo articolo è stato pubblicato più di un anno fa, potrebbero esserci stati sviluppi.
Ti preghiamo di tenerne conto.
Con il termine “CMS” (Content Management System) s’intende un applicativo web che permette all’utente di creare / modificare / cancellare i dati tramite una interfaccia amministrativa rendendo i dati inseriti fruibili dagli utenti o dagli iscritti all’applicativo stesso.
I CMS più famosi, quelli più usati su internet al giorno d’oggi sono open source. Possiamo citare WordPress, Drupal, Joomla, PHP-nuke, TYPO3, OpenCMS… e molti altri. Esistono anche svariati CMS a licenza chiusa, sviluppati direttamente dalle software house, ma solitamente hanno uno sviluppo più lento e un costo maggiore.
Tutti i CMS citati fin’ora separano l’interfaccia dai contenuti. L’interprete (solitamente PHP) si occupa di trasferire il contenuto al database. Il database “salva” il contenuto e lo rende disponibile qualora venisse richiamato.
Oggi invece parliamo di Grav: un CMS che funziona come tutti quelli già citati, ma i cui dati vengono salvati anziché in un database nei file di testo.
Questo blog più di dieci anni fa era realizzato appunto con un CMS senza database: FlatPress. Nel 2010 migrai a WordPress mentre FlatPress negli anni venne abbandonato, ma da un paio d’anni lo sviluppo pare sia ripreso.
Installazione
Esistono due versioni di Grav. Una, Grav Core, permette l’installazione “standalone” senza il plugin amministrativo. L’altra, Grav core + admin plugin, include un plugin che gestisce il backend e permette l’amministrazione del sito.
L’installazione è piuttosto elementare. Una volta scaricato l’archivio va scompattato e caricato sul server (requisito essenziale: PHP 7.3.6 o versioni superiori). Chi volesse usare Grav con il plugin amministrativo deve configurare il file .htaccess
(su Apache) o i file di configurazione di NGINX. Trovate degli esempi nella directory “webserver-configs
“. Una volta effettuate le modifiche basterà visitare la homepage del sito per iniziare l’installazione.
Uso
Il pannello di amministrazione è simile a quello di WordPress. Da li l’utente può creare pagine, articoli, configurare il sito, aggiornare plugin e temi.
Una volta che approfondisci le sezioni però ti rendi conto che WordPress gestisce alcuni aspetti in modo migliore. Il menu “Configuration” contiene una miriade di impostazioni, alcune delle quali organizzate in modo poco intuitivo. Per contro WordPress ha l’essenziale corredato dagli aiuti inline che evitano all’utente di dover ricorrere alla documentazione.
Plugin e temi
Grav integra un gestore temi e un gestore plugin. Sia i temi che i plugin possono essere installati manualmente o scaricati dal repository collegato. Essendo un progetto relativamente giovane (di certo più giovane di WordPress) non ci possiamo aspettare le migliaia di componenti disponibili per i CMS più famosi.
SEO
Grav offre i permalink SEO in automatico ma lascia il resto allo sviluppatore o agli eventuali plugin. Chi usa WordPress può contare su plugin di rodata esperienza come YOAST o All-in-one-SEO-Pack, chi inizia a usare Grav invece si accorge ben presto che i plugin dedicati alla SEO sono ancora indietro, gli sviluppi forse ci saranno ma gli sviluppatori si sono concentrati più su altro.
Documentazione
La documentazione di Grav è davvero il suo fiore all’occhiello. Tutto è spiegato bene e in modo intuitivo.
Versione premium
Grav è open source, rilasciato sotto licenza MIT. La maggior parte dei plugin e dei temi sono disponibili liberamente tramite repository e crearne di nuovi è relativamente semplice. Esistono però temi e plugin premium disponibili nel repository, sviluppati direttamente dal “Grav team” o da sviluppatori esterni. Quelli premium sono ovviamente dei contenuti avanzati, anche se non essenziali.
In conclusione Grav mi sembra un ottimo progetto, sviluppato attivamente, al momento supportato da una piccola community, ben documentato. Durante il mio utilizzo sono rimasto piuttosto soddisfatto dal progetto e dal prodotto, anche solo per la semplicità d’utilizzo.
2 commenti
Andrea · 15 Giugno 2022 alle 4:41 PM
Eh ,ma la differenza si nota, io sto usando grav in un progetto ma nonostante gli skeleton ci vuole una mano più tecnica,
TheJoe · 15 Giugno 2022 alle 4:55 PM
Sono daccordo con te, Andrea. Un vero paragone con WordPress (o con altro CMS “famoso”) non lo possiamo fare ancora e, anche se in realtà il progetto Grav sembra stia andando velocemente nella giusta direzione, WordPress è diventato quasi inarrivabile.
Grazie del commento!