Il blog di Sandro Rizzetto

KenticoCMS, il CMS che avrei voluto scrivere io

 

Nella mia precedente vita di DEV mi sono occupato principalmente di quel tipo di applicazioni chiamate Content Management System (CMS). Uno dei prodotti (acoCMS) che ho sviluppato nell’arco degli anni ruggenti di Internet (dal 1998 al 2005 circa) ha avuto un discreto successo e ancora oggi è usato da uno dei canali di Yahoo Italia e presumo da qualche altra decina (centinaia ? all’epoca era 800) di clienti che non hanno avuto la voglia di upgradare a una soluzione più moderna. Successivamente ho collaborato e supervisionato allo sviluppo di una suite più avanzata ( Structura eCMS ) scritta in .NET anch’essa tuttora in uso presso portali ad alto traffico ( DolomitiSuperski.com per citarne uno).

Quando l’anno scorso ho avuto la necessità di implementare un portale per la mia azienda, mi sono messo alla ricerca di un CMS con determinate caratteristiche e posso dire di avere trovato in KenticoCMS quell’applicazione che per molti aspetti invidio per non averla scritta io !

Questo post non vuole essere una dettagliata recensione del prodotto (ce ne sono sul loro sito e in molti altri blog), ma solo una testimonianza di un cliente che si è trovato bene e che non ha remore a consigliarlo ad altri.

Partiamo subito a rispondere alla domanda che purtroppo è diventata una delle prime nel settore (svilito ?) dei CMS: E’ un prodotto free/open source/gratis/mi pagano loro se lo uso ?!
Riposta: SNI ! Nel senso che esiste una versione free che per moltissimi usi basta e avanza, ma appena si hanno esigenze un attimo più evolute (primo tra tutti il multilanguage), allora è a pagamento, ma con costi tutto sommato accettabili -seppure in crescita rispetto a 12 mesi fa- per un’azienda.

L’architettura è basata sull’ambiente Microsoft, ovvero, IIS (6/7/7.5), ASP.NET 2.0 e MS-Sql Server 2005/2008 (anche la Express) come base dati. Questo può ovviamente essere un “limite” per qualcuno che preferisce prodotti LAMP, ma era invece un requirement fisso per me, visto che volevo un prodotto aperto e customizzabile da Visual Studio, sfruttando le mie conoscenze di asp.net, c#, ecc.

Il Setup è una delle prime cose di cui ero stato “invidioso”: si lancia un exe che scompatta le centinaia (forse troppi !) di files e poi parte un “web installer” che chiesta la versione di Visual Studio e del Framework (2008 + 3.5 oppure 2005 + 2.0) e del webserver da usare (IIS locale o remoto oppure il “Cassini” di VS) configura il nostro sito come root o come virtual dir. Lanciato per la prima volta l’url nel browser vengono subito verificati alcuni diritti dell’utente anonimo e poi parte la configurazione guidata del DB su Sql Server. A questo punto abbiamo la possibilità di partire con un sito blank vuoto, di usare uno dei 4 templates (Corporate, Personal, E-Commerce, Community) già preconfigurati (non il massimo come design e come qualità del codice HTML) oppure di usare un wizard advanced che ci guiderà in tutte le opzioni. In ogni caso, nel giro massimo di 10 minuti si avrà sito + backoffice di admin pronti all’uso e questa rapidità non è da sottovalutare.

A questo punto possiamo iniziare l’editing della sitemap del nostro sito e la redazione dei contenuti ovviamente da un backoffice ad accesso riservato e via browser. L’interfaccia utente del BO è molto chiara e pulita, sempre coerente e si impara ad usarla in un baleno. Si possono ovviamente creare N utenti con diversi diritti e nell’ultima versione è possibile customizzare la UI in base all’utente loggato.

L’editing dei contenuti di una pagina avviene direttamente dentro il layout del sito reale cosi come poi andrà online. Questo è sempre stato un mio dubbio se fosse conveniente in termini di velocità e usabilità, ma devo dire che soprattutto quando le regioni editabili sono più di una (la main, dei box laterali, una news, un evento, ecc.) fa molto comodo scrivere direttamente nel posto giusto.

image

 

Dal punto di vista dell’implementatore si hanno due possibili modi di utilizzo: il cosiddetto “Portal Engine” permette ad un utente non evoluto (un htmlista senza conoscenze di programmazione .net) di preparare i layout sia usando decine di template già pronti sia inserendo nelle proprie gabbie delle webparts (in pratica dei controls ascx) che svolgono tutte le funzioni necessarie (regioni editabili, search box/results, image gallery, sitemap, subscribe, login, ecc.).

Se invece si è un po’ più smanettoni (Aspx/C#) allora conviene sicuramente usare il secondo modo chiamato “ASPX Templates” dove i templates ce li potremmo fare noi usando le Master Pages e le Webform standard di aspx (bisogna solo derivarle da una loro classe base). Anche qui possiamo avvantaggiarci dei mille UserControls messi a disposizione, da quelli molto generici (il CMSRepeater che ci permette di fare “quasi” tutto) a quelli specifici come il CMSMenu, CMSCalendar, ecc.

Non mi soffermo a parlare del contorno esistente per il “golive” di un sito come ad esempio media libraries, staging, workflow di approvazione, permessi e diritti, reporting e statistiche: sono cose che ormai ci si aspetta da ogni CMS e qui sono comunque risolte e affrontate molto bene.

Oltre al modulo redazionale sono presenti ovviamente altri moduli che completano l’offerta: alcuni li ho testati (events, forum, polls, newsletters) altri come lo shop dell’e-commerce sembrano molto completi e avanzati.

Il mio sito dove lo sto usando non è sicuramente ad alto traffico, ma penso che la scalabilità non sia un problema, sia perché è usato da portali non proprio piccoli, sia perché curiosando nel codice (sia quello dato come source sia via reflector) si vede che ci hanno pensato bene.

Infine concludo con uno degli aspetti che secondo me rendono vincente questo prodotto: il supporto !
Sia a livello commerciale, ma soprattutto a quello tecnico la qualità dell’help-desk è fenomenale. A parte che la mole di documentazione (pdf, help online, help contestuale su ogni singolo campo, knowledge base, ecc) rende spesso auto-risolvibili i problemi, se proprio capita basta una mail al support e raramente ho dovuto attendere più di 24 ore per la risoluzione. E anche con la versione Free (dove ovviamente non viene dato supporto diretto via mail/phone) è possibile cercare nei forum della ricca DevNet per trovare spesso quello che si cerca.

Riassumendo: un ottimo prodotto, scritto bene, supportato benissimo, aggiornato continuamente (almeno due major release all’anno e continui HotFix appena vengono trovati dei bug); che rabbia non averlo scritto io :-)

Aggiungi Commento

Copyright © 1997-2017 Sandro Rizzetto | All Rights Reserved | Riproduzione delle fotografie vietata | Powered by me