Lo sviluppo di progetti Web su Internet o per scopi interni aziendali comincia invariabilmente dalla scelta della giusta piattaforma di content management system (CMS), ossia del software necessario per la creazione, gestione e pubblicazione dei contenuti digitali. Una scelta che vede in primo piano i CMS open source, per la facilità con cui è possibile reperire plug-in, template e competenze necessarie per portare avanti progetti complessi.
Le funzionalità variano molto tra un CMS e l’altro, di base sono fornite le capacità d’indicizzazione e recupero dei contenuti, per le conversioni di formato dei documenti oltre che per la pubblicazione. Tra le funzioni più tipiche ci sono inoltre il controllo delle revisioni con il tracciamento di modifiche e approvazioni oltre all’applicazione di modelli standard di presentazione. Le differenze tra CMS si concentrano nella facilità d’uso sia per gli utilizzatori sia per gli amministratori, oltre che nelle possibilità di personalizzazione che, in molti casi, richiedono competenze di programmazione.
Caratteristiche dei CMS open source più diffusi
Tra i CMS open source più famosi c’è WordPress. Usato nel passato per la creazione di blog, è diventato nel corso del tempo uno dei motori più diffusi per siti Web. È un ambiente semplice per il quale è facile reperibile documentazione e altri supporti. Tra le capacità più utili dal lato della gestione c’è il supporto per l’aggiornamento automatico che riguarda sia la piattaforma sia i tanti plug-in con cui può essere personalizzato. WordPress beneficia inoltre di una grande quantità di temi grafici da utilizzare.
Un’altra piattaforma molto avanzata è Joomla con la quale si possono realizzare siti molto differenti, dai più semplici ai più complessi per qualsiasi esigenza di contenuto. Lo strumento ha una efficace interfaccia di amministrazione, intuitiva per utenti che abbiano livelli minimi d’esperienza. Dispone inoltre di controlli d’accesso sincronizzabili con directory LDAP esterne oltre che con sistemi d’identità come OpenIT o Gmail. Anche Joomla beneficia di plugin e template che fanno risparmiare tempo in fase di progetto.
Per lo sviluppo di siti complessi e molto personalizzati, la piattaforma d’elezione è Drupal che dà le maggiori potenzialità in mano a programmatori esperti. Come altre piattaforme, Drupal ha attorno una vasta comunità di utenti e sviluppatori che rendono facile reperire informazioni e funzionalità aggiuntive.
Un altro tool usato per lo sviluppo professionale è Django, la cui filosofia di gestione ad albero dei contenuti rende più facili cambiamenti a livello della navigazione e redazione.
Il panorama dei CMS open source contempla inoltre i tool specificamente progettati l’ e-commerce. Il più conosciuto, Magento, è scritto in Php e spicca per le capacità di personalizzazione. Le estensioni sono disponibili sul marketplace Magento Connect dove si raccoglie la community degli sviluppatori. Per le attività più sofisticate è giocoforza dover disporre delle competenze di programmazione. Un’altra piattaforma per gestire carrelli acquisti online è Prestashop, molto adatto alla vendita dei prodotti che possono essere “scaricati” da un sito (software, ebook, immagini), ma anche per servizi che richiedono prenotazione o per il supporto di marketplace.
Come realizzare rapidamente il prototipo…indipendentemente dal CMS scelto
Quale che sia il CMS scelto, è importante poter realizzare velocemente prototipi ed effettuare i test. Un modo per disporre a basso costo delle risorse necessarie è Easy Cloud Server di Seeweb, un servizio che consente di attivare uno o più server virtuali (senza limiti numerici) con il sistema operativo richiesto (Linux o Windows) e di gestirli comodamente da una console attraverso SSH.
Il servizio è offerto con vari profili per quanto riguarda risorse e spazio storage, profili tra i quali è possibile scalare in funzione delle necessità. Le macchine virtuali possono essere cancellate in qualsiasi momento, fermando la contabilizzazione nel momento in cui il progetto dovesse concludersi oppure andare in produzione, migrando su piattaforme cloud con livelli di disponibilità e di assistenza appropriati (e necessariamente più costosi) rispetto allo staging.