Ponzu: il tuo CMS headless su FreeBSD.

Ponzu , CMS Headless in GO

Ponzu è un CMS che espone API a partire da tipi dato specifici. E’ quindi un Content management system headless ovvero “senza testa”. Al contrario di altri CMS come WordPress o Joomla infatti non mette a disposizione un front-end dove visualizzare i contenuti.

Ponzu CMS Logo

Facilissimo da installare, questo CMS è veramente comodo per ridurre i tempi di sviluppo soprattutto laddove si debba personalizzare il proprio sistema di gestione contenuti. Ponzu infatti è open source e permette moltissime personalizzazioni sui tipi di dato e sulla loro esposizione via API.

Ponzu è realizzato in GO e quindi permette l’installazione in qualsiasi sistema operativo ( Linux, Mac, Windows ). In questo articolo vedremo come installarlo su un macchina virtuale FreeBSD.

Prime installazioni…

Come prima cosa, accediamo alla nostra macchina FreeBSD come super user ( su ) ed installiamo alcune funzionalità che risulteranno molto utili:

  • nano
  • wget
  • git
pkg install nano wget git

Dopodiché dovremo passare all’installazione di GO ed alla configurazione delle variabili d’ambiente:

cd /tmp

wget https://storage.googleapis.com/golang/go1.10.1.freebsd-386.tar.gz

tar -C /usr/local -xzf go1.10.1.freebsd-386.tar.gz

mkdir ~/.gopkg

setenv GOPATH /root/.gopkg

set path = ($path /usr/local/go/bin /root/.gopkg/bin)

echo "setenv GOPATH /root/.gopkg" >> ~/.cshrc

echo "set path = ($path /usr/local/go/bin /root/.gopkg/bin)" >> ~/.cshrc

Abbiamo quindi installato GO e definito il percorso nel quale installare il nostro CMS Headless Ponzu: /root/.gopkg/src

Installiamo Ponzu CMS

Per installare il nostro nuovo CMS ( o meglio la Ponzu CLI ) basterà scaricare tramite comando go get il programma direttamente da github:

go get -u github.com/ponzu-cms/ponzu/…

A questo punto non dovremo far altro che testare la nostra installazione creando un nuovo progetto ed accedere alla nuova cartella:

ponzu new mio-cms
 cd /root/.gopkg/src/mio-cms

Quindi non ci resta che creare le tabelle che conterranno i nostri dati, ecco il primo esempio:

 ponzu gen content agenzia nome:"string" zona:"string" description:"string" image:string:file

In questo caso abbiamo creato una tabella “Agenzia” che contiene i dati “nome”, “zona” e “descrizione” di tipo stringa ed un’immagine di tipo “file”.

Se vogliamo correlare dei venditori ad ogni “Agenzia” possiamo creare una nuova tabella nella quale inserire un riferimento ( leggi chiave esterna ) alla nostra tabella delle agenzie:

ponzu generate content venditore nome:string cognome:string telefono:int agenzia:@Agenzia,nome

con @Agenzia facciamo riferimento alla tabella creata precedentemente mentre con ‘ ,nome ‘ indichiamo il campo che verrà utilizzato come etichetta nella scelta dell’agenzia di riferimento del nostro venditore

Ponzu CMS inserisci

Finalmente il nostro CMS

Finalmente abbiamo installato il nostro CMS e creato le nostre tabelle! Non ci resta che effettuare la build di Ponzu e quindi avviare l’applicazione:

ponzu build
ponzu run --bind=<indirizzo_server> --port=1984 admin,api

per avviare l’applicazione è necessario indicare l’indirizzo ip o il dominio sul quale far girare Ponzu utilizzanto –bind . –port indica la porta sulla quale potremo contattare le nostre API ma anche sulla quale girerà l’applicazione di amministrazione. Non indicando questi campi i valori de defautl saranno la porta 80 e localhost.

API e configurazioni

Non resta che vedere come interrogare le API di Ponzu CMS e come configurare correttamente le nostre tabelle.

Tutto questo ed alcuni casi d’uso li vedremo nel prossimo articolo!

0 comments on “Ponzu: il tuo CMS headless su FreeBSD.Add yours →

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *