Il CMS django: uno sguardo al sistema basato su Python
Nel 2007 l’agenzia web svizzera Divio AG ha rilasciato il CMS django, basato sull'omonimo framework. Come il framework, rilasciato nel 2005, anche il CMS è scritto nel linguaggio di programmazione Python, motivo per cui riesce ad accedere ad una grande quantità di librerie. Il collegamento a Django fa sì che il CMS abbia automaticamente accesso a tutti gli strumenti e agli aggiornamenti del framework.
Realizzare il sito dei sogni con il framework Django e con il CMS django
Il CMS django si è affermato in poco tempo nella scena dei CMS open source. Ciò è dovuto soprattutto allo stretto legame con il framework, che ha reso il progetto sin dall'inizio molto complesso. Django è stato definito un framework di ultima generazione, come quello basato su Ruby, Ruby on Rails. Questi si contraddistinguono dal fatto che si appoggiano su codici omonimi. Così un programmatore Django deve scrivere meno della metà del codice rispetto ad esempio ad un programmatore PHP. È il caso anche dell'omonimo CMS, che convince soprattutto per le seguenti caratteristiche:
- Struttura modulare delle pagine, diversi contenuti già preimpostati basati su blocchi;
- Codice del front end con velocità e banda larga ottimizzate;
- Integrazione molto facile di plug-in nuovi e di quelli già esistenti;
- Interfaccia drag&drop intuitiva e user-friendly;
- Integrazione semplice di sorgenti dati complesse.
I vantaggi di django chiariscono perché il CMS è così interessante sia per gli sviluppatori che per i redattori. Creando le pagine e i contenuti, i relativi blocchi si spostano con il mouse nella posizione desiderata, indipendentemente si tratti di testi, foto, video o moduli. Il sistema crea una struttura ad albero e da questa, se si desidera, risultano automaticamente dei menu. La lavorazione dei blocchi è possibile sia dal back end che direttamente dal front end ed è conveniente soprattutto se si vogliono sostituire a posteriori degli elementi in un sito già attivo, se non integrarli o eliminarli. Sono a disposizione dei tipi di contenuti già preimpostati come pagine di blog, FAQ o annunci, in modo da dover inserire solo i dati. Molti altri elementi per il sito si trovano su django CMS Marketplace e su GitHub. Potete scaricare queste estensioni gratuitamente, chiamate su django template, plug-in e add-on, ed integrarle sul vostro sito. Potete combinare e provare qualsiasi elemento, e se non siete soddisfatti, potete sempre annullare le modifiche in qualsiasi momento. Vi accorgerete in fretta di quanto tempo risparmierete nella creazione del vostro sito, utilizzando i moduli già pronti. Se vi manca una funzione e avete le conoscenze necessarie per lavorare con Python, potete anche creare una vostra estensione. Anche in questo caso il framework di base si dimostra molto utile: infatti Django si occupa della comunicazione con il database e crea automaticamente delle maschere di amministrazione e moduli per le proprie sorgenti dati. Inoltre avete anche a disposizione una grande quantità di applicazioni.
Le funzioni del CMS django
Come molti altri CMS open source, i punti di forza di django risiedono nella versatilità, che deriva soprattutto dal numero di add-on in continua crescita, che consentono di aggiungere sempre nuove funzioni. Ma indipendentemente da queste estensioni, il sistema vanta già di per sé un’ampia scelta di funzioni, grazie al download di template aggiuntivi:
- Funzione di modifica tramite doppio click: con un doppio click sui testi, sulle immagini, sui pulsanti o su altri contenuti si apre una finestra per modificare l’elemento scelto.
- Lavorazione dal front end: la modifica di tutti i contenuti è possibile anche direttamente dal front end.
- Plug-in riutilizzabili: le estensioni per il CMS possono essere utilizzate in diverse parti del sito.
- Gestione di siti diversi: gestione di siti diversi tramite lo stesso pannello di amministrazione.
- Architettura flessibile: tutti gli elementi possono essere posizionati liberamente all’interno del sito.
- Gestione dei permessi: assegnazione dei permessi specifica per ogni utente.
- Gestione di versioni diverse: tutte le modifiche al progetto possono essere salvate e possono essere ripristinate anche in seguito.
- Funzione multilingua: è possibile che tutte le pagine e i contenuti siano disponibili in diverse lingue; tramite regole si può stabilire come comportarsi, se un contenuto non è disponibile nella lingua desiderata.
- Gestione dei contenuti multimediali: è possibile gestire facilmente tutti i tipi di file multimediali come immagini, PDF, video, ecc.
Quali possibilità offre il CMS django per il SEO, l’e-commerce e simili?
Con il CMS django è possibile curare l’aspetto dell’ottimizzazione per i motori di ricerca. Infatti per ogni pagina creata, potete inserire un titolo e una descrizione personalizzati e anche gli URL possono essere modificati, in modo da essere scansionati più facilmente dai motori di ricerca (indipendentemente dai titoli dei menu, ecc.). In aggiunta, ci sono anche una serie di estensioni, come ad esempio djangocms-page-meta. Con questo template è possibile personalizzare gli snippet per Google+, Facebook e inserire anche delle Twitter Cards, in modo che compaiano nei risultati di ricerca. Con django, al contrario di altri CMS, non è però possibile gestire un negozio online. Una soluzione è data da un software e-commerce apposito django-shop, l’aggiunta ideale per il vostro CMS, che si basa sul framework Django. Altri template utili per django sono:
- djangocms-blog: software per creare un blog con articoli in più lingue;
- Aldryn MailChimp: plug-in che collega il CMS al software per newsletter MailChimp;
- Aldryn Video: ottima estensione per integrare video;
- cmsplugin_facebook: integra alcune funzioni di Facebook, come il pulsante “Mi piace“.
Conclusione: un CMS con enormi potenzialità
Il CMS django mette a disposizione degli ottimi strumenti, grazie ai quali non solo è possibile creare e gestire i siti web, ma si possono anche sviluppare delle proprie applicazioni. Nella maggior parte dei casi si possono generare automaticamente delle pagine e modificare tutti gli elementi tramite doppio click o drag&drop. Grazie alle diverse estensioni, a cui se ne aggiungono sempre di nuove grazie alla community, potete realizzare dei progetti complessi. In particolare, il CMS django è un’ottima scelta per i siti di piccole e medie imprese, che non vogliono rivolgersi a servizi esterni per ogni piccola modifica. Sul sito di django potete scaricare la nuova versione del CMS o provare la versione demo. Qui avete a disposizione delle pagine di esempio su cui potete provare facilmente le funzioni di django tramite “edit”, dopo un po’ di tempo le modifiche vengono automaticamente annullate. Per poter installare questo CMS open source, servono i seguenti requisiti:
- Python
- Il framework Django
- PostgreSQL o MySQL
- html5lib (la libreria di Python)
- le estensioni django-classy-tag, django-treebeard, django-sekizai e djangocms-admin-style (tutte disponibili su GitHub)