“Lo stato del progetto Joomla e le novità in Joomla 3.5” 2015 relatore: David Frassi About me: David Frassi - Coordinatore GdL Siti Web per ESTAR - Docente corsi di programmazione JoomlaHost. it e Joomla.it - Laurea in Informatica e 15 anni di esperienza maturata nel settore siti web, portali e CMS Indice dei contenuti ● Dopo 10 anni siamo ancora Jumla! ● Cosa ci lascia la versione 3.4 ● Le novità della nuova versione 3.5 “Dopo 10 anni siamo ancora Jumla!” image by @Helvecio http://magazine.joomla.org/ il termine deriva da un’interpretazione fonetica della parola in lingua swahili «jumla» il cui significato è “tutti insieme” Un po’ di storia: Tutto nasce da quest’uomo Joomla, rappresenta uno dei tanti retaggi del sogno di Richard Stallman, fondatore della licenza GPL. Lo scopo che aveva era quello di aprire e diffondere il codice sorgente in modo che il mondo potesse migliorarlo. Esattamente ciò che è avvenuto con Joomla. I volontari, gli utenti e gli sviluppatori in questi 10 anni hanno lavorato “tutti insieme” (Jumla) per migliorarlo sempre di più. Un po’ di storia 2005: Il capo progetto fondatore Andrew Eddie, nonché ex sviluppatore di Mambo, il 22 settembre, ufficializza il rilascio di Joomla 1.0 come fork del precedente CMS. 2006: Il team di sviluppo riscrive completamente il codice del CMS. Viene introdotta l’architettura ad oggetti ed il pattern MVC. 2008: Tutta la community mondiale comincia ad utilizzare Joomla anziché Mambo e nel gennaio 2008 il rilascio della versione stabile di Joomla 1.5 determina la morte del progetto «Mambo» Un po’ di storia: Una squadra dinamica I volontari alla guida del progetto cambiano molte volte, imprimendo sempre nuove direzioni, per cercare di tenere il passo con l’evoluzione tecnologica del mondo web OSM 2005 _OSM 2011_ _OSM 2014_ Un po’ di storia: Una squadra dinamica Andrew Eddie, Brian Teeman e Mitch Pirtle sono stati i primi Direttori del consiglio di OSM. Oggi dirige Sarah Watz. In questi ultimi 10 anni ci sono stati, 45 volontari che si sono avvicendati alla guida dell’organizzazione, provenienti da 19 paesi differenti, tra cui: Australia, UK, USA, Canada, Olanda, Belgio, Francia, Germania, Sud Africa, Serbia, Taiwan, Mongolia, Israele, Brasile, Guatemala, Spagna, Svezia, Danimarca e India. Migliaia di altri volontari provenienti da tutto il mondo hanno contribuito allo sviluppo del progetto Joomla. Un po’ di storia: Un trend non incoraggiante (trend Google Chiavi di ricerca “joomla”, “drupal”, “wordpress”) Un po’ di storia: Joomla grande in cambio di birra grande a differenza dei competitor commerciali, il progetto Joomla viene mantenuto ed evoluto da volontari che, quasi sempre, lavorano gratuitamente Un po’ di storia: C’è chi si è arricchito senza contribuire Web Master???? Developer Open Source Quanti webmaster improvvisati hanno sfruttato il lavoro gratuito dei volontari, per rivendere soluzioni complete ai clienti, ignari della loro scarsa professionalità? Un po’ di storia: Il progetto ha bisogno di noi “Tutti stanno gemendo a proposito della perdita di traffico e di entrate della Joomla Extensions Directory, dov’è l’indignazione quando JoomlaCode passa da 10.000 sessione al giorno a 100 sessioni al giorno?” (Micheal Babker) Un po’ di storia: negati in strategia commerciale a differenza dei competitor commerciali, il progetto Joomla spesso subisce delle battute di arresto per colpa di scelte strategiche poco brillanti Un po’ di storia: L’evoluzione dei rilasci ● Dal gennaio 2011 viene intrapreso un nuovo ciclo di sviluppo «alla Ubuntu» con rilasci prefissati. Ogni 6 mesi STS (Short Term Support). Ogni 18 mese LTS (Long Term Support) ● Senza retrocompatibilità con procedure di migrazione da una versione all’altra (solo per quanto riguarda il core, non i componenti) Un po’ di storia: L’evoluzione dei rilasci ● Questa scelta suscita le critiche del mercato e degli utilizzatori che per semplicità iniziano a preferire sempre di più Wordpress a Joomla FANGO ● Per questi motivi dalla versione 3.4 Joomla torna nuovamente al Major.Minor.Patch con supporto a 2 anni ad ogni rilascio di versione stable Un po’ di storia: Versionamento Il numero di versione che identifica Joomla segue una convenzione a tre livelli, dove ognuno definisce il significato del cambio (1.5.23, 1.6.6, 1.7.1, etc) I tre livelli, in ordine di importanza, sono: * Major (modifiche sostanziali in modo NON retrocompatibile) * Minor (modifiche meno sostanziali in modo retrocompatibile) * Patch (correzione bug in modo retrocompatibile) Ad ogni nuovo rilascio i livelli inferiori vengono impostati a zero (1.5.23 --‐> 1.6.0, 2.5.x --‐> 3.0.0) Un po’ di storia: Quello che conta è il progetto a differenza dei competitor commerciali, il progetto Joomla punta sempre ed esclusivamente al miglioramento tecnologico, ad ogni costo. Sicurezza ed eleganza senza compromessi con il mercato Un po’ di storia: un progetto non solo per gli utenti "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." Martin Fowler Un po’ di storia: un progetto non solo per gli utenti 2011 A partire dalla versione 1.7 viene attuata per la prima volta nel codice la separazione netta tra: Joomla! Platform e Joomla! CMS Oggi la Platform si è evoluta in un vero e proprio framework di sviluppo, il Joomla Framework API Un po’ di storia: Cambio di Target Il web cambia molto velocemente. I siti devono essere responsive, veloci, leggeri, con design ricercati ecc… La scelta in molti casi di prediligere l’evoluzione tecnologica all’ usabilità implica che l’utente debba possedere sempre maggiori competenze per utilizzare il CMS. Così, nel corso degli anni il progetto si sposta lentamente dall’ essere uno strumento per utenti no skills ad essere ormai dedicato agli addetti ai lavori ed ai webmaster. Un po’ di storia: Cambio di Target Nonostante la classifica, Mark Zuckerberg ci ricorda la massima: “use the right programming language for the task” Un po’ di storia: Cambio di Target Best Content Management Framework Analisi del 17.07.14 a cura di Arash Araby di butterfly.com “Cosa ci lascia la versione 3.4” 2015 relatore: David Frassi Cosa ci lascia la ver. 3.4: L’alverare delle features Collapse Sidebar Frontend module editing Google reCAPTCHA Extension beta testing Decoupling com_weblinks Composer integration Cosa ci lascia la ver. 3.4: Collapsible Sidebar Joomla! 3.0 ha portato un nuovo aspetto nell'interfaccia amministrativa di Joomla utilizzando bootstrap e uno dei principali miglioramenti è stato l'aumento dell'area utilizzabile nel backend di Joomla!. Joomla! 3.4 fa un passo avanti rendendo la Sidebar delle estensioni collassabile sia per i dispositivi mobili che per la visualizzazione a schermo intero. Cosa ci lascia la ver. 3.4: Front-end Module Editing Joomla! 3.4 porta la modifica da lato pubblico ad un livello completamente nuovo. Prima che arrivasse la 3.4 era già possibile modificare gli Articoli, il Template e la configurazione globale dal lato pubblico del sito. Con la 3.4 si possono modificare anche i moduli. Non è più necessario andare in amministrazione per modificare il contenuto di un modulo o modificarne i parametri! Questo è un altro passo che rende molto facile per i gestori di contenuti e i realizzatori di siti utilizzare Joomla. Cosa ci lascia la ver. 3.4: Google reCAPTCHA Il supporto per il nuovo Recaptcha (chiamato anche No CAPTCHA reCAPTCHA) comporta per gli utilizzatori finali dei siti fatti in Joomla! una compilazione più veloce e senza problemi, senza alcun compromesso sulla protezione antispam per gli amministratori. Ora per la maggior parte degli utenti provare che non si tratta di un robot sarà facile, basterà spuntare una casella! Cosa ci lascia la ver. 3.4: Composer Integration Nella release 3.3, è stato introdotto il codice dal Framework di Joomla! nel CMS; tuttavia il metodo in cui è stato installato nel filesystem non si allineava con il modo in cui Composer installa il codice. Con la release 3.4, è stato integrato Composer nel CMS, in modo che possa gestire le dipendenze esterne come il Framework di Joomla! e il PHPMailer. Cosa ci lascia la ver. 3.4: Extension Beta Testing Questa funzionalità consente di installare ed abilitare sul proprio sito, senza comprometterlo, le versioni alpha e beta delle estensioni in corso di sviluppo. Questo permette, da un lato, il debug da parte degli sviluppatori stessi e, dall’altro, di far contribuire la community al testing e quindi al miglioramento delle estensioni. Cosa ci lascia la ver. 3.4: Decoupled com_weblinks Joomla! 3.4 è la prima release della nuova roadmap e strategia di sviluppo del CMS, nella quale si è deciso di alleggerire la distribuzione di Joomla rimuovendo alcune funzionalità del core. Esse rimangono comunque disponibili come estensioni installabili, consentendo ai proprietari dei siti di decidere quali utilizzare. Cosa ci lascia la ver. 3.4 Mobile R3ADY Joomla! ha fatto un gran salto in avanti con i dispositivi mobili con una totale revisione del design del lato pubblico e dell'interfaccia amministrativa. Facile da usare L'amministrazione di Joomla! ha un aspetto ed un utilizzo facile, costruito con il potente framework responsive di Bootstrap, Cosa ci lascia la ver. 3.4 Strumenti per gli sviluppatori Sono stati aggiunti i CSS e le jQuery {less} per poter scrivere in codice less ed utilizzare la libreria di font icon Icomoon, che offre una vasta gamma di icone ottimizzate anche per i retina display. Autorizzazione con verifica in due passaggi Joomla! è stato il primo CMS ad implementare l'autenticazione con verifica in due passaggi. Aggiunge un codice monouso che viene ricevuto sul telefono cellulare in modo da rendere il sito più sicuro ai tentativi di attacco. Cosa ci lascia la ver. 3.4 Un ciclo di vita delle versioni e del supporto accettabili. Nell’aprile 2014, dopo lo sdubbiamento di molti utilizzatori sempre più inclini a passare a Wordpress perché incapaci di comprendere la reale differenza tra STS e LTS, il team di Joomla dichiara il supporto biennale di ogni versione Minor. Sempre che non venga rimpiazzata prima da una nuova versione Minor, in questo caso i due anni ripartono da quest’ultima. Le modalità di aggiornamento da una versione all’altra diventano via via sempre meno caotiche e alla portata di tutti. Vengono prevalentemente spostate sul pannello di amministrazione che permette così di aggiornare il sistema con un click. Programma di rilascio e supporto “Le novità di Joomla 3.5” 2015 relatore: David Frassi Team di sviluppo 2015 Production Working Group Si occupa di creare il software del CMS, open source, sicuro e di alta qualità. Comprende tutto ciò che va nel prodotto finale, non solo codice, ma anche documentazione, internazionalizzazione e localizzazione. Leaders: Roland Dalmulder, Chris Davenport, Robert Deutz, Jessica Dunbar, Javier Gomez, Thomas Hunziker, David Hurley, Tom Hutchison, Viktor Vogel, and George Wilson Responsabilità: Sviluppo codice del core, patches, Joomla Labs, Joomla Bug Squad, localizzazione e internazionalizzazione, Joomla Documentation, security, Google Summer of Code, JoomlaCode. Alcune novità della ver. 3.5 ● ● ● ● ● ● ● ● ● ● ● ● Conteggio articoli dentro le categorie Drag and drop delle immagini sull’editor tinyMCE Notifica via mail degli aggiornamenti Tasti tinyMCE assegnabili ai livelli di accesso Interfaccia: Tutti i filtri nella search bar Redirect: Cancellazione massiva dei link corrotti Editor XTD tradotti in bottoni nativi tinyMCE Possibilità di ordinamento random degli articoli Nuova voce di menu utente. Logout diretto Raccolta dati in forma anonima XTD Button per l’inserimento di moduli nel testo degli articoli Assegnamento moduli a voci di menu controllate Drag and drop images Aggiunta la funzione drag & drop delle immagini all’editor tinyMCE Drag and drop images Aggiunta la funzione drag & drop delle immagini all’editor tinyMCE Abilitare il drag&drop Configurare il path dove salvare le immagini Editor XTD tradotti in bottoni tinyMCE nativi In questo modo ci svincoliamo da Mootools e dai problemi di conflitti su librerie Javascript ed il funzionamento degli XTD diventa maggiormente responsive Tasti tinyMCE assegnabili ai livelli di accesso Nuovo plugin xtd per l’inserimento di moduli Button che permette di inserire un modulo direttamente nel testo di un asset. Genera una macro {loadmodule...} Conteggio asset nelle categorie pubblicati sospesi archiviati cestinati Notifica via mail degli aggiornamenti Plugin, realizzato da Nic Dionysopoulos di Akeeba, che si preoccupa di inviare una mail di notifica all’amministratore ogni qualvolta il sistema necessita di aggiornamento Interfaccia: Tutti i filtri nella search bar Redirect: Cancellazione massiva dei link corrotti Nuovo tasto per la cancellazione massiva di link corrotti Possibilità di ordinamento random degli articoli Nelle voci di menu di tipo Articolo, Lista di singola categoria e Blog è possibile stabilire come criterio di ordinamento anche l’ordine casuale Nuova voce di menu utente. Logout diretto Possibilità di creare una voce di menu che permette il logout diretto e redirect esplicito ad una ben determinata pagina. In questo modo non è più necessario utilizzare il modulo di login per effettuare anche il logout, visto che da esso si accede ad una pagina vuota con un solo link. Raccolta dati in forma anonima Da un’idea di Don Gilbert verrà incluso un plugin per la raccolta anonima di dati statistici riguardanti il nostro sito. Questi dati verranno utilizzati dal team di Joomla per migliorare il progetto. Inizialmente i dati raccolti riguarderanno semplicemente: ● ● ● ● PHP version, Database type/version, Joomla version OS type/version. Il meccanismo funzionerà grazie ad una coppia jstats-plugin e jstats-server Moduli assegnati a voci di menu controllate Evidenziazione delle voci di menu non pubblicate in fase di assegnazione del modulo. Trend delle versioni PHP e compatibilità con Joomla Doveva essere aggiunta una funzione per il test della versione di PHP in uso. Ma non sono riusciti ad includerla in questa release. In ogni caso 5.3 è scaduta da tempo anche se ancora molto utilizzata. La 5.4 è scaduta recentemente mentre la 5.5 riceve solo il supporto per eventuali falle di sicurezza e presto scadrà anch’essa. Sollecitare il proprio provider ad adottare versioni di PHP 5.6 pienamente supportate e che garantiscono anche prestazioni molto migliori. Patto di retrocompatibilità, con qualche eccezione Il team di sviluppo ha promesso il mantenimento della compatibilità all'indietro, per assicurarci che il codice di terze parti non smetta di funzionare improvvisamente a causa di un aggiornamento. Tuttavia ci sono circostanze che costringono a fare qualche eccezione. In Joomla 3.5, a causa dei cambiamenti di PHP 7, è stato necessario rinominare la classe String in StringHelper altrimenti Joomla non poteva funzionare con PHP 7. Questo è un cambiamento abbastanza limitato che non dovrebbe creare particolari problemi. Domande? Mail: [email protected] Web: http://www.davidfrassi.it Twitter: https://twitter.com/davidfrassi