Quali caratteristiche deve avere un CMS per essere di successo?
Spesso, nelle community di Web Developers e Web Designers, si discute su quale sia il miglior CMS da utilizzare per realizzare i propri lavori. Si discute su quale sia il:
- più performante
- più modificabile
- più personalizzabile
- più seo-friendly
- più in grado di fare il caffè ecc.
C’è chi preferisce Joomla, chi Drupal o chi WordPress…io preferisco quest’ultimo e lo confesso spudoratamente
Senza fossilizzarci su quale sia il migliore tra i tre, senza dubbio, sono i CMS Open Source più utilizzati e di maggior successo al mondo. La domanda che ora mi pongo (e al quale cercherò di dare una risposta in perfetto stile Marzullo) è la seguente:
Quali caratteristiche deve avere un CMS per ottenere il gradimento dei professionisti, Developers o Designers che siano?
Dando per scontato che il CMS deve essere Open Source e scritto in PHP (sono uno sviluppatore LAMP, dovevo specificarlo e sottolinearlo
), vediamo cosa deve offrire a chi intende servirsene:
01) Pattern architetturale
Il cms deve basarsi su un pattern architetturale (come l’MVC) che prevede componenti software distinti e separati ma che “interagiscono” per il funzionamento dell’applicazione. In caso di modifiche “importanti”, magari per progetti altamente personalizzati, è molto importante scegliere un CMS basato su un’architettura conosciuta o, comunque, facile da comprendere.
02) Core e API
Il funzionamento del cms deve avvenire tramite un core ben progettato e, soprattutto, ben scritto che si componga di un set di API/Oggetti/Functions completo (database, FTP, Cache ecc.) e ben documentato.
03) Sistema di templating
Che si avvalga di un template engine tipo Smarty o di un sistema a “viste” come quello di WordPress (che usa il Loop con i “template tags”), il cms, deve mettere a disposizione dei Designers un sistema di templating che permetta una facile e veloce integrazione di layout realizzati in HTML/CSS.
03) Sistema di Plugins
Un cms sopra ogni cosa deve essere “modulare“; le sue funzionalità devono essere assolutamente “estendibili” tramite un sistema di “plugins” che permetta una facile e veloce installazione di moduli “extra” (i plugins, moduli o componenti, come preferisci chiamarli) per qualsiasi esigenza.
04) La SEO è tutto
Un cms deve essere di “default” ottimizzato per i motori di ricerca. L’aspetto SEO è di primaria importanza. Puoi realizzare il miglior sito del mondo ma, se non sei ben posizionato sui motori di ricerca, il tuo bel sito lo vedi solo tu e tua nonna…e, poi, voglio vedere come spieghi a tua nonna che sei un valido web designer e che, il sito, l’hai realizzato con WordPress
05) User-Experience del backend
A parte il lato tecnico c’è, comunque, da considerare la gestione dei contenuti e delle funzionalità del cms. Per questo, il pannello amministrativo, deve essere ben strutturato, usabile, che offra una buona user-experience.
Tu cosa ne pensi? Quali caratteristiche deve avere un CMS per essere di successo? Condividi la tua idea con un commento
Invia questo articolo a un amico via email
OpenCart e le url SEO friendly
Tra le tante piattaforme di E-Commerce open source che ci sono in circolazione, una di quelle che apprezzo di più è OpenCart. Come la maggior parte dei CMS anche opencart è particolarmente attento alla SEO, infatti, permette di impostare una URL SEO Friendly per le pagine, per le categorie e per i prodotti decidendo di volta in volta le keyword come potete vedere in questo screenshot:
Oggi voglio condividere uno “short trick” per tutti quelli che vogliono installare opencart in una sottodirectory del proprio sito web, ad esempio, www.miosito.com/ecommerce. Dovete aggiornare il codice del file htaccess perchè, con opencart installato in una sottodirectory, l’url rewriting non funzionerà. Precisamente bisognerà specificare il nome della sottodirectory “RewriteBase /ecommerce“. Ecco il codice completo del file htaccess:
RewriteEngine On
RewriteBase /ecommerce
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)\?*$ index.php?_route_=$1 [L,QSA]
Invia questo articolo a un amico via email
Progettazione Web Application: l’importanza della fase di analisi

Da sempre mi occupo di progettazione e realizzazione di CMS e Web Applications in generale e, devo dire, che è un lavoro davvero interessante e stimolante. Oggi voglio sottolineare la grande importanza che ha la fase di analisi nella progettazione di una web application.
Uno degli errori più gravi che commette un giovane web developer con poca esperienza è quello di non preoccuparsi di analizzare con grande cura tutto quello che riguarda la web application che deve sviluppare. Inizia a scrivere righe e righe di codice ma questo lo porterà molto presto ad incappare nei primi problemi, giusto per fare qualche esempio:
- Non ha previsto qualcosa
- Ha dimenticato qualcosa di importante
- Deve riscrivere codice poichè funzionante ma l’obiettivo era leggermente diverso
- Non ha adottato la tecnica OOP e non ha previsto la “modularizzazione dell’applicazione”, un errore di progettazione, lo costringerà probabilmente a dover rivedere l’intera applicazione
Un programmatore viene in genere indicato come “analista programmatore” per un motivo ben preciso: non si occupa di scrivere codice soltanto ma bensì di analizzare un problema (o l’esigenza di un cliente), individuare la soluzione per poi implementare il progetto “funzionante” attraverso la stesura del codice. Nella fase di analisi nulla deve essere lasciato al caso, tutto deve essere previsto, per ogni problema deve essere stata trovata la soluzione più opportuna e performante.
Un consiglio che mi sento di dare è quello di adottare il pattern MVC per l’architettura dell’applicazione e di aiutarsi con tabelle e modelli E/R per la progettazione e realizzazione del database. Scrivere una documentazione dettagliata durante la fase di analisi è un dovere “verso se stessi” perchè, in futuro, alcuni concetti dell’applicazione potrebbero andare dimenticati ed è opportuno avere sempre a disposizione documenti che descrivano tutti gli aspetti e i comportamenti dell’applicazione in modo chiaro.
Un altro consiglio che mi sento di dare è quello di prevedere che l’applicazione sia “modulare“. Suddividere l’applicazione in moduli agevolerà la manutenzione del codice. Pensiamo, ad esempio, a un futuro dove sarà necessario modificare la parte dell’applicazione che si occupa di gestire la pubblicazione di news. Avere la possibilità di lavorare al modulo “news” (che conterrà i files necessari al suo funzionamento: inserimento, modifica, cancellazione, ricerca, visualizzazione) ci permetterà di ottimizzare i tempi delle modifiche senza dover intervenire in tutti i files dell’applicazione. Magari prevedere un modulo “plugins” per la gestione automatizzata dei vari moduli sarebbe una funzionalità che renderebbe la nostra applicazione a dir poco eccellente dal punto di vista degli aggiornamenti e dell’espansione delle funzionalità.
Ultimo consiglio, nella fase di analisi, ritengo un fattore di grande importanza quello di prevedere un “core” con cui sviluppare l’intera applicazione. Con core intendo una serie di classi/oggetti che si occuperanno della gestione delle situazioni critiche e degli aspetti fondamentali per il funzionamento dell’applicazione. Ad esempio:
- una classe “database” per le interazioni col database
- una classe “ftp” per la gestione dei files via ftp
- una classe “session” per la gestione delle sessioni utente
Più altre classi personalizzate per compiti specifici. Più è elevata la qualità del core più ne beneficerà il programmatore durante la stesura del codice. Adottare un approccio “object oriented” permette, inoltre, di rendere il codice “riutilizzabile” e offre la possibilità di modificare i comportamenti “interni” senza dover intervenire sull’interfaccia.
Invia questo articolo a un amico via email
E-Commerce in pochi click: Joomla e VirtueMart

Per quanto riguarda gli E-Commerce non ho mai utilizzato strumenti open source. Per le aziende per cui ho lavorato in passato ho sempre sviluppato soluzioni proprietarie ed ancora oggi è la soluzione che preferisco.
Negli ultimi tempi però, sto dedicando un pò di attenzione a Joomla, un cms a cui non ho mai dato molta attenzione in passato. Cms molto potente e ben scritto, facilmente personalizzabile grazie ad estensioni, moduli e plugin vari. Non la tiro per le lunghe e vi dico che Joomla non mi dispiace affatto, dopo WordPress, un altro “figlio dell’open” si è guadagnato la mia simpatia.
Sono rimasto favorevolmente colpito da VirtueMart, un estensione per Joomla che, in pochi click, permette di mettere in piedi un e-commerce professionale. VirtueMart è a sua volta espandibile grazie a molteplici moduli aggiuntivi che aumentano il numero di funzionalità dell’e-commerce. La gestione del negozio è facile ed intuitiva, si può impostare la lingua italiana e scegliere tra tantissimi template facilmente personalizzabili.
I templates di Joomla sono semplici template in XHTML/CSS organizzati con un certo criterio, che si avvalgono di un file XML per essere riconosciuti dal cms. Se avete realizzato templates in XHTML/CSS non avrete alcuna difficoltà ad utilizzarli con Joomla/VirtueMart.
Per concludere, vi consiglio di dare un’occhiata all’accoppiata Joomla/VirtueMart, una valida alternativa a Magento e PrestaShop. Voi cosa ne pensate, avete mai utilizzato VirtueMart? Ritenete anche a voi sia un valido strumento per mettere sù un negozio online senza doverlo sviluppare da zero?
Invia questo articolo a un amico via email
I migliori post della settimana #12
Di seguito alcuni post interessanti di questa settimana:
1) Firefox Bug Flash wmode transparent: Ecco come risolvere
2) Frog, un Cms semplice per qualsiasi sito o Blog
Qualche settimana fa avevamo parlato di Cms Gratuiti, in cui compariva anche Frog Cms.Frog è un Cms molto semplice, open source, adattabile per qualsiasi sito, scritto in php, e con un codice molto semplice che ricorda vagamente quello di WordPress…
3) Free Textures Per i Tuoi Design – 17 Account Flickr Da Tenere A Portata Di Mano
4) Come Integrare Gli SMS Nelle Web Application Grazie Agli SMS Gateway
Le piattaforme hardware/software che offrono questo tipi di servizio si chiamano SMS gateway. Ne esistono diversi anche in italia e permettono di gestire gli SMS esattamente come parametri di un modulo HTML tramite il metodo GET…
6) Best Image Croppers ready to use for web developers
7) La navigazione di un sito web per il SEO: una utile checklist
Invia questo articolo a un amico via email





Mi trovi anche su: