Web Security in KenticoCMS e non solo…

Posted 21. marzo 2011 19.33 in Informatica

Mi fa molto piacere constatare che KenticoCMS, il prodotto che ho scelto per i miei sviluppi di siti piú o meno grandi (come ad esempio il nostro sito aziendale che conta piú di 2000 pagine), prenda in seria considerazione tutti gli aspetti legati alla sicurezza delle applicazioni web.

Ne è riprova il fatto che è stato appena pubblicato un interessante white paper sulle più comuni tipologie di vulnerabilità, ovvero:

  • XSS (cross site scripting)
  • SQL Injection
  • Argument Injection
  • Code Injection
  • XPath Injection
  • CSRF/XSRF (cross site request forgery)
  • Session Attacks
  • Directory Traversal
  • Unvalidated Redirects and Forwards
  • DoS (Denial of Service)

Consiglio la lettura del documento anche a chi non usa questo CMS, sia per capire meglio le varie vulnerabilità nel caso le si ignorasse, sia per imparare come evitarle.

Kentico 5.5R2: un’alternativa a Sharepoint ?

Posted 6. gennaio 2011 16.35 in Informatica

E’ uscita da poco una nuova “intermediate” release di KenticoCMS, il CMS che uso da qualche tempo per i miei progetti e del quale ho già parlato in questo post.

La novità maggiore di questa versione è sicuramente la presenza di un modulo per costruirsi rapidamente una intranet aziendale. Nell’ottica dell’Enterprise 2.0, sfruttando molti moduli già esistenti (il Content Management ovviamente, ma anche forum, blog, wiki, boards, news, events, media library, ecc) ci si può costruire in pochi clic una intranet out-of-the-box.

Intranet Solution

Il template “Intranet” che possiamo scegliere durante il setup ci installerà una soluzione che copre molte delle esigenze di una tipica intranet aziendale e che comunque potremmo andare ad arricchire con le nostre webparts, widget, pagine aspx o intere applicazioni sfruttando le estese API del CMS.

Dopo aver inserito i nostri dipendenti (Employee Directory) che saranno anche gli User del portale, tramite i moduli citati prima potremmo cominciare a riempire il sito di tutte le informazioni inerenti la Società: pagine relative alla Politica dell’azienda, organigrammi, policy interne, news, eventi con calendario, contenuti multimediali (foto e videogalleries), blog aziendali e singoli per ogni utente, forum interni, ecc. Il tutto sarà indicizzato (compresi PDF e documenti Office) e facilmente ricercabile.

image

Document Management

Gran parte delle informazioni aziendali sono ovviamente sotto forma di documenti e quindi grande attenzione è stata posta al modulo di Document Library che è stato molto migliorato.

La webpart Document Library ci presenterà la lista documenti uploadati ognuno corredato da un menu contestuale che permette le classiche operazioni di Copy/Delete/Open/Edit/Upload, di gestione dei permessi, di versioning e di archiviazione. Se abilitato è possibile anche l’associazione a un workflow e le classiche operazioni di check-in/check-out.

Molto comoda l’integrazione con WebDAV che ci permette di aprire e salvare i documenti direttamente dentro l’applicazione associata (es. Office) senza dovere rifare l’upload o usare l’opzione di update. Coerente con il modulo di Content Management la possibilitá di caricare un documento in un’altra lingua se la nostra intranet è di tipo multi-language (e in Alto Adige l’esigenza non è poi così remota).

image

Departments e Workgroups

Anche se l’azienda è piccola, sarà sicuramente suddivisa in qualche reparto (IT, Commerciale, Marketing, ecc) e mediante questo modulo possiamo gestire i vari settori come sotto-siti di quello generale. Le informazioni e i documenti inseriti in un department, che può avere un theme grafico diverso da quello generale, saranno accessibili solo ai membri del reparto, permettendo così una gestione della security molto semplice da parte dell’administrator (che è l’unico che può creare e gestire i department).

Al contrario i Workgroups possono essere creati da qualsiasi utente e nascono come strumento per la collaborazione e cooperazione di un team di lavoro (es. per la gestione di un progetto). Anche loro sono website separati con un loro tema e design schema e sia l’accesso che i documenti possono essere privati (riservati solo ai membri del workgroup) oppure anche pubblici.

image Department Home image Workgroup Home

 

Project Management e Task

imageOgni utente con i giusti permessi può creare e gestire un progetto che includerà una serie di task. L’avanzamento del progetto sarà legato al progresso dei suoi task figli e visualizzato sul live-site o nel backoffice tramite semplici percentuali di completamento. E’ovviamente possibile l’integrazione con il modulo di Workgroup. Tutti gli status con i suoi relativi colori (completato, in corso, critico, ecc) e le priorità sono completamente customizzabili dal backoffice.

imageOgni utente può inoltre crearsi una serie di Personal Task non legati a un singolo progetto, e vedere in una dashboard rapidamente lo status dei suoi task, di quelli a cui è stato assegnato da altri e dei progetti in cui è coinvolto.

E’ chiaro che non ci avviciniamo nemmeno ai livelli di un Project Management vero come puó essere Ms Project e neppure ai “Project Task” di Sharepoint che seppur semplici almeno visualizzano un Gannt, ma per gestire le informazioni basiche di un progetto (goal, status, estimated time, priority, deadline, progress, ecc), il modulo fa il suo dovere.

 

Personalization e User Contribution

Sappiamo benissimo che la fortuna del Web 2.0 è stato lo User Generated Content, e anche nell’Enterprise 2.0 dobbiamo consentire all’utente finale di arricchire il nostro portale con contenuti e documenti. Tutto ciò è possibile direttamente dal live-site senza che il dipendente debba entrare nel Backoffice di Amministrazione. Tramite semplici comandi e con un training molto basico (forse qualche nozione sul FCKeditor html) potremmo quindi consentire al nostro utente di inserire news o articoli o di uploadare documenti.

L’interfaccia e i contenuti delle varie pagine potranno inoltre essere customizzati secondo i vari livelli: l’admin potrà personalizzare la parte corporate, i capi-settore i loro department, i responsabili progetto i loro workgroup e ogni utente il proprio “My Dashboard”. Il metodo per farlo è quello classico del drag’n drop di webparts (dal CmsDesk quando si preparano i template) o di widget (direttamente nel live site) e la quantità messa a disposizione dal sistema è veramente notevole.

image

 

Microsoft Sharepoint 2007/2010 Connector

imageCome vedremo più avanti, KenticoCMS 5.5R2 potrebbe essere una valida alternativa a Sharepoint. E se invece li volessimo far convivere? O se già avessimo catalogato in Sharepoint migliaia di files e non volessimo cambiarne il repository, ma solo pubblicarne l’elenco sulla mia nuova intranet? Kentico ci viene in aiuto con un connector (disponibile addirittura nella versione Free!) che invoca i classici webserver di Moss (lists.asmx e imaging.asmx) e tramite 4 diversi webparts (DataSource, DataGrid, DataList e Repeater) ci permette di includere nel portale informazioni provenienti dall’ambiente Microsoft.

Supporto a Windows Azure

Da questa release KenticoCMS supporta l’ambiente di Cloud Computing di Microsoft pur se con qualche limitazione. Sql Azure ad oggi non supporta il Full Text e quindi l’indicizzazione di doc e pdf non è possibile. Data la mancanza di un file-system tutte le operazioni/feature che richiedono un accesso diretto ai file (import/export, smart search, media library, ecc) non sono supportate. Inoltre per problemi con lo session state provider e la web-farm synchronization viene supportato solo il SINGLE INSTANCE mode. Infine il setup è manuale anche se molto ben documentato da un whitepaper.

L’obiettivo della software house è stato quello di non creare due versioni diverse per il cloud e l’on-premise e quindi in questa versione ci dobbiamo accontentare di quanto offerto. La prossima major relase 6.0 (disponibile a Q2/Q3 2011) nasce già con Windows Azure in mente e quindi sarà completamente riscritto il supporto al file-system (che riconoscerà se sta girando su Azure o su un server normale), sarà implementato un nuovo session provider per supportare multiple instances e webfarms, sarà cambiato il componente di Smart Search nel caso Sql Azure continuasse a non avere la parte di Fulltext e il setup consentirà l’installazione di un Windows Azure Project.

Altre novità

  • Versioning without workflow”: è ora possibile usare le features di versioning e check-in/check-out senza necessariamente creare un workflow; i documenti sono direttamente pubblicati (questo è diventato il comportamento standard delle Document Libraries; come spesso accade semplificare al massimo i processi è la chiave per il successo).

Prezzi e Licensing

Tutto bello, ma quanto costa tutto ciò? Con questa nuova release entra nel listino un nuovo pacchetto chiamato Document Management Package che comprende appunto il Document Management, il Project Management, il Task Management e il supporto WebDAV e che costa al pubblico $1,499. A questo bisogna aggiungere il prezzo del pacchetto Base di $1,999 per un totale di 3500$ (circa 2700 euro). La versione Ultimate che da oggi comprende anche il Document Management oltre a tutti gli altri Package (Advanced, Ecommerce e Social Network) non ha subito nessun aumento rimanendo a $4,499 ed essendo spesso oggetto di sconti e promozioni.

Il modello di pricing come si vede non è legato al numero di utenti (CAL) o di subsite, quindi con questo prezzo non si hanno limiti sul numero di department/workgroups/users creabili.

La Kentico Intranet Solution, ovvero il sito ready-to-use da cui ho tratto gli screenshot di cui sopra è fornita a titolo gratuito così come gli altri starter kit (corporate, personal, ecommerce e community) ma a differenza degli altri fornisce a mio parere un base molto più sostanziosa e ricca per partire con lo sviluppo della propria intranet.

Infine il Licensing per la parte Cloud è stato molto semplificato (o per meglio dire cancellato): per mettere il sito on the cloud non si deve pagare niente in più rispetto alla licenza normale, vedremo con la 6.0 se la multiple instance cambierà nuovamente le carte in tavola.

KenticoCMS vs Sharepoint

Leggendo i vari moduli (e anche io stesso testando la soluzione) qualcuno avrà fatto un parallelo con la più nota piattaforma per creare Intranet e soluzioni di Document Management. Possiamo paragonarle? Il confronto è veramente difficile a partire dal prezzo, dove Sharepoint può essere molto più economico in certi casi (i WSS / Sharepoint Foundation sono gratis) ma estremamente più caro in caso di molti utenti (secondo questo sito per una intranet di 1000 utenti si spendono all’incirca 80.000 euro, ma prendetelo con le pinze perchè si sa che il licensing di Microsoft è molto piú complicato della Teoria Quantistica di Yang-Mills Smile ).

A livello di potenzialità chiaramente Sharepoint offre molto di più (ad esempio tutta la parte di Business Intelligence disponibile nella versione Enterprise) e ormai è un ambiente talmente vasto che è difficile considerarlo come un’applicazione. E forse proprio questa vastità -che talvolta si può trasformare in complessità- potrebbe “spaventare” qualcuno del reparto IT e fargli preferire una soluzione più semplice da gestire (per installare KenticoCMS non ci vuole certo un sistemista, per una soluzione MOSS non ci giurerei…). Idem dal punto di vista del Developer: avete mai provato in Sharepoint a fare il deploy di una feature oppure a customizzarlo tramite un .wsp file? Bene, per creare una webpart o un nuovo template di Kentico basta aprire Visual Studio (o anche Notepad volendo), scrivere il file ascx/aspx e copiarlo! E il bello è che è completamente basato su feature STANDARD di Asp.Net (es. la Form Authentication è quella di asp.net, provate invece a implementarla su MOSS!) e il processo di integrazione/estensione è molto fluido (per fare debug premo F5 e basta, non impazzisco mezza giornata!).

Conclusioni

KenticoCMS continua a sorprendermi e a piacermi sempre di piú e con questi nuovi moduli per intranet/extranet/collaboration aggiunge un mattone importante per incrementare la sua popolarità. E non pensate che sia rivolto solo a piccole entità; il software è molto scalabile, sfrutta molto bene il caching e offre il supporto per il load balancing e le web-farms (altrimenti intranet da 30.000 utenti o siti con High Availibility e molte pageviews non sarebbero possibili).

KenticoCMS, il CMS che avrei voluto scrivere io

Posted 5. gennaio 2010 13.41 in Informatica

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 :-)

Sitemap di Google deve stare in root

Posted 21. agosto 2009 10.03 in Informatica

Oggi controllando nei "webmaster tools" di Google se le sitemap che avevo inviato erano ok, mi sono accorto che tutti gli url avevano un errore di tipo "Url not allowed: this url is not allowed for a sitemap at this location."

Dopo un po' di indagini ho scoperto che se la sitemap (il file xml statico o un handler axd/aspx che la genera dinamicamente) sta in un sottodirectory, gli url ammessi sono solo quelli di quella sottodir e figli

In pratica se la sitemap è salvata in http://www.example.com/hero/sitemap.xml questi url sono consentiti:

  • http://www.example.com/hero/
  • http://www.example.com/hero/contact.html
  • http://www.example.com/hero/test/index.html
  • http://www.example.com/hero/info/about/guestbook

Ma non questi

  • http://www.example.com/ (Higher directory level than your sitemap)
  • http://www.example.com/hero (Higher directory level, missing trailing slash so the URL is treated like a file)
  • http://www.example.com/marcel/ (Higher directory level than your sitemap)
  • http://www.hero.com (Not the same domain)
  • http://example.com/hero/ (Not the same domain)

Visto che io avevo messo il mio handler in una sottodirectory /SpecialPages del mio CMS dove raccolgo appunto le pagine particolari, sono incappato in questo errore. E' bastato spostare il file nella root e tutto è andato bene.

Fonte

Ritorno alle origini: sviluppo di un sito

Posted 5. aprile 2009 17.22 in Informatica

Dopo quasi 12 mesi (il 15 aprile è un anno che ho cambiato attività ed ora mi occupo di questo) di disintossicazione dallo sviluppo di siti web, attività che aveva accompagnato gli ultimi miei 10 anni di carriera, sono tornato con molto entusiasmo a creare un nuovo mini-portale avente come argomento un nostro prodotto del settore Training & Sport: OptoJump Next.

E' stato molto divertente scegliere la piattaforma CMS su cui basarlo (non avevo infatti nessuna voglia nè tempo di scrivermene uno da solo), confrontarsi col grafico che ha creato il layout, creare i templates con le moderne tecniche CSS (dove sono ancora una frana) ma soprattutto rituffarsi nel codice aspx/c# per l'implementazione e varie personalizzazioni.

Meno divertenti i vari controlli cross-browser (ci mancava solo IE8 :-( ...) e soprattutto la fase di content editing in 5 lingue (che palle sta globabilizzazione !! ma non potrebbero imparare tutti l'inglese ??)

Il sito ha dentro un po' di tutto: contenuti redazionali, photo e video galleries, tutorial in forma di webcast, vari forms di richiesta/invio informazioni, forum, news (con feed rss), newsletter, controlli virtual earth e l'abbozzo di una community che dovrebbe crescere nel tempo. La parte più divertente deve ancora arrivare: la creazione di una piatatforma di WebServices (in tecnologia WCF ovviamente) perl l'interfacciamento del nostro software Win32 client che accompagna l'hardware OptoJump.

BrowserShots: testare un sito su differenti browser

Posted 30. marzo 2008 12.20 in Informatica

Fantastica iniziativa quella di BrowserShots.org dal quale cito testualmente:

Browsershots realizza screenshots del tuo web design su diversi browser E' un servizio online open-source creato da Johann C. Rocholl. Quando invii il tuo indirizzo web, sarà aggiunto alla coda dei processi. Una rete di computer visualizzerà il tuo sito internet nei rispettivi browser Quando avranno eseguito gli screenshots li invieranno in questo server centrale.

Tre ambienti (Linux, Windows, Mac), una decina di sistemi operativi diversi, ad oggi 65 browser diversi e una serie di opzioni su cui intervenire (risoluzione schermo e bit colore, verifica di Flash, Java, Javascript). Provandolo sul mio sito ufficiale www.rizzetto.com, ho avuto il piacere di constatare che il layout si visualizza correttamente sulla stragrande maggioranza dei browser. Mi dispiace solo per i milioni di visitatori :-) che usano  "Dillo 0.8.2.6" su sistema PLD 2.0 che purtroppo non interpreta il CSS e per gli utilizzatori di Safari su Windows 2000 che non vedranno le immagini random dello header in alto. Un po' più preoccupante invece che MSIE 5.5 sbagli a impaginare la barra dei menu orizzontali cannando di brutto. Al momento il nodo della rete che fa da tester per IE 8 è sempre down, vorrà dire che mi toccherà installarlo su una virtual machine.

E' ovvio che si tratta solo di una verifica "visiva" e che non può sostituire una piú approfondita verifica funzionale (es. quanti di questi browser mi aprono correttamente la tendina con i layer dei sottomenu ??) ma resta comunque un servizio free (limitatamente ad una prova al giorno) molto utile.

Qui sotto un'estratto degli shots che dopo un'oretta vengono generati, mentre qui l'immagine completa con tutti i 59 browser.

esempio di browsershot di www.rizzetto.com

Sito RyanAir con qualche pecca

Posted 29. febbraio 2008 09.43 in Viaggi | Informatica
Spesso leggo sui newsgroup lamentele sulla poca chiarezza del sito RyanAir e molte volte a torto (la risposta a molti thread più ovvia è "leggi bene cosa c'è scritto, zuccone!")
 
Oggi però volendo prenotare un volo (dopo che da due sere il sito era praticamente down, e già questo non è bello...), devo ammettere che anche a me, sono girate un po'...
 
All'atto di indicare i nomi dei passeggeri e il tipo di check-in e numero bagagli, la tendina dropdown vicino al cognome recita:
"Quante valigie da presentare"
"Senza bagaglio e check-in al"  (troncato)
"Senza bagaglio e check-in al"  (idem)
"1 bagaglio..."
"2 bagagli..."
ecc.
 
Un ovvio cattivo dimensionamento della <select> ha fatto in modo che la voce 2 e 3 fossero uguali e indistinguibili; poco male mi dico, mi guardo il codice HTML e capisco quale devo scegliere. STA CIPPA  ! anche qui le voci sono uguali, probabilmente dovuto a un errore della traduzione delle stringhe inglesi
 
 <option value="XX">Quante valige da presentare al check-in?</option>
 <option value="WC ">Senza bagaglio e check-in all'aeroporto</option>
 <option value="BAG0">Senza bagaglio e check-in all'aeroporto</option>
 <option value="BAG1">1 bagaglio e check-in all'aeroporto</option>
 <option value="BAG2">2 bagagli e check-in all'aeroporto</option>
 
Alla fine andando a tentativi e guardando come cambia il prezzo ho capito che la 2 è check-in online e la 3 check-in in aeroporto (come era prevedibile).
Idem cambiando lingua e usando l'inglese (cosa da fare SEMPRE), la cosa è confermata.
 
Ovvio che io ci ho messo 1 minuto a capire il problema (e 10 a scrivere il post e fare lo screenshot !!), ma se fosse stata mia madre a voler prenotare o una persona meno avvezza ? "che vada in agenzia" sento urlare (giustamente) :-)
 
Sia chiaro, non è una critica alla compagnia in sè (ho volato spesso con loro e dovremmo fargli un monumento per aver introdotto il concetto di lowcost) ma solo al loro reparto IT/web.

Syntax coloring e intellisense per ASP 3.0 Classic in VS2008

Posted 7. febbraio 2008 08.19 in Informatica

Devo dire che fortunatamente non mi capita spesso (al contrario di miei poveri colleghi) di dover fare manutenzione su vecchi progetti ASP 3.0 Classic, e quindi non mi ero accorto di questa cosa: Visual Studio 2008 (in qualsiasi versione) ha completamente tolto il supporto a questa tecnologia per quanto riguarda l'editor e quindi non mostra più il codice colorato differentemente (tra statement, stringhe fisse, ecc.) e neppure funziona l'intellisense su quelle poche cose dove serviva (oggetto Response, Server, Session, ecc.).

All'inizio pensavo si trattasse di smanettare nelle elefantiache pagine di settings, ma dopo vani tentativi ho trovato questo feedback (un bug report ai tempi di Orcas Beta) in cui Microsoft ammette di averlo tolto volutamente (la classica "feature by design"). Il workaround suggerito mi pare abbastanza ridicolo (installatevi parallelamente Visual Web Developer 2005 Express, o -tra le righe- non levatevi VS2005 come fortunamente ho fatto io), e comunque se uno ha già installato VS2008, installare DOPO VWD 2005 potrebbe portare a qualche problema (associazioni sbagliate di file, ecc.). E doversi tenere installati due IDE diversi e saltare da uno all'altro non è sicuramente cosa piacevole. 

Ora, sono conscio che dal 2002, anno di introduzione di asp.net, sono passati quasi 6 anni e che sarebbe ora di dimenticarsi del mondo legacy, ma sappiamo anche tutti che vecchie applicazioni (che magari funzionano benissimo) in ASP 3.0 non verranno mai migrate a asp.net e che il supporto e la manutenzione dovranno essere sempre assicurati a quei poveri clienti che le usano.

Probabilmente Microsoft con quella decisione avrà voluto dare una "spinta" al passaggio tra i due mondi, ma secondo me rischia il fatto che in qualche software house si ritardi (anche) per questo motivo il passaggio a VS2008 causando un danno ben maggiore, ovvero quello di posticipare l'introduzione di tecnologie ben più importanti (Linq in primis) e di rinunciare a strumenti che semplificano la vita di tutti i giorni (intellisense su javascript ad esempio).

Addio vecchio sito, nasce Rizzetto.com 2.0

Posted 13. gennaio 2008 21.56 in Informatica

Il 19 novembre 2007 usciva la RTM di Visual Studio 2008 e quel giorno, come preannunciavo in questo post, avrei dato inizio al completo rifacimento del mio sito personale. Dopo circa 2 mesi di serate e week end passati sul PC ecco il risultato...

Come dico spesso scherzando, il sito - non avendo figli - è l'unica  cosa che porta il mio nome e che lascerò ai posteri :-)  Ovvio quindi che cerchi di curarlo al meglio possibile, spero di esserci riuscito. 

Dopo 11 anni di vita era arrivato il momento non di un restyling ma proprio di completo ripensamento sia perché le tecnologie erano cambiate (div, css, ajax ecc.), sia perchè il modo migliore per impararne di nuove (LINQ, C# 3.0, SEO, ecc.) è quello di applicarle a progetti reali e non a semplici demo (altri dettagli tecnici sull'architettura le trovi qui).

E' nato quindi quello che pomposamente ho definito "Rizzetto.com 2.0", termine stra-abusato (riferendosi al Web 2.0) ma che per me significa realmente la vera seconda release del mio sito personale.

I contenuti sono sempre gli stessi: molto di me stesso (a chi può fregarne qualcosa), molte fotografie (uno tra i miei hobby preferiti), ma anche spero qualcosa che possa servire agli altri (come i diari e resoconti dei viaggi).

Non mi resta che ringraziare chi mi ha aiutato in questa mini-impresa e invitarvi se ne avete voglia a dare un'occhiata a:

www.rizzetto.com

Sará veramente Silverlight il futuro del Web ?

Posted 12. gennaio 2008 18.23 in Informatica

Silverlight 2.0 (il giocattolone che è la 1.0 non lo considero) sembra essere a detta di molti la nuova frontiera del Web, ovvero lo strumento con cui dovremmo avere a che fare per le nostre future RIA (Rich Internet Applications). Non ho dubbi sulla bontà tecnologica del prodotto (anche se di solito nei prodotti Microsoft è la 3.0 la versione buona), ma ad oggi vedo una diffusa incomprensione su cosa veramente rappresenti.

Se si fa un giro su qualche forum o newsgroup il minimo che si sente dire è che Silverlight sia "il Flash di Microsoft", ma lo ho visto addirittura paragonare al QuickTime di Apple (e cosa c'entri non lo so proprio). Certo non sarà semplice spiegare a tutti l'ENORME potenza di avere dietro WPF, C# e tutto il framework .Net invece che "solo" (d)html, javascript o al massimo Ajax per costruire la nostra UI. E sicuramente le alternative non mancheranno (Air di Adobe ad esempio). Ho l'impressione che il marketing di Microsoft questa volta non sia stato così bravo a fare passare il messaggio giusto... lo stesso annuncio che il broadcasting delle Olimpiadi di Pechino saranno fatte da NBC con la tecnologia Silverlight potrebbe far pensare che si vuole solo soppiantare il predominio di Flash nel campo dei video player (e quindi guerra a Youtube di Google che lo usa), mentre mi immagino che a Redmond pensino molto più avanti che non a un semplice rimpiazzo del Windows Media Player su web.

Riporto alcuni link (grazie Ettore) che sarà bello andare a rileggere tra un paio di anni:

  • Rich Internet application predictions for 2008 (Ryan Stewart)
  • Come cambia il web (Dino Esposito)
  • Tabella comparativa tra .net , Silverlight, Flash