Alla fine di Agosto 2010 è stata rilasciata la nuova major revision del framework Ruby on Rails, la 3.0.0, che introduce
- un nuovo motore di query per ActiveRecord;
- un nuovo sistema di routing;
- la gestione delle dipendenze con Bundler (ndr: spettacolare!!);
- una efficacissima protezione contro gli attacchi XSS, attiva di default;
- impostazione dell’encoding del testo a livello generale;
- altri piccoli miglioramenti… qui i dettagli
E siccome questo sito non è altro che il mio laboratorio degli esperimenti, mi sembrava giusto tenerlo aggiornato, visto che ero ancora fermo alla versione 2.3.2 di Rails, che comunque funzionava alla grande. Potete immaginare quanto sia stato tentato di lasciare tutto come stava, ma la tentazione è stata troppo forte… la scarica di adrenalina che precede una decisione del genere, proprio prima di premere il tasto che può rompere tutto, è una sensazione indescrivibile :)
Per l’aggiornamento ho seguito questa guida in quattro parti: Rails 3 upgrade… davvero completissima, tanto che non ho proprio niente da aggiungere :)
La comodità (da sempre il vanto di Rails) è stata nel fatto che è stato messo a punto un opportuno plugin, per aiutare gli sviluppatori nel lavoro di upgrade: questo plugin evidenzia, file per file, tutte le modifiche da apportare per rendere l’applicazione Rails 3-compliant. E’ tutto descritto nella guida che ho linkato.
Ne è risultato che buona parte del codice risultava deprecated, cioè da aggiornare, ma soprattutto tantissimi plugin erano segnalati come non più compatibili! E quindi sono servite ore per cercare l’opportuna sostituzione di ogni plugin con un apposito fork per Rails 3, oppure con uno completamente diverso, per poi adattare il mio codice e correggere anche il codice degli altri, piccoli bug ancora irrisolti nelle versioni preliminari di questi plugin. Insomma, è stata un’impresa!
Mi ha ricordato un po’ quando mi ostinavo a tenere Slackware Linux sul mio computer di casa, quando tutto il mondo cominciava ad usare Ubuntu :P



Era da un po’ che ci lavoravo, ma gli impegni lavorativi fino ad oggi avevano sempre prevalso: ho fatto il porting del sito alla nuova versione 2.3.2 di Rails!









