Sabato 28 maggio si è svolto a Milano "Pizza Bug & Fun", organizzato da Joomla! Lombardia, Joomla User Group Milano e Nicola Galgano secondo il format ufficiale di Joomla.org
Chi è intervenuto ha potuto conoscere gli strumenti che vengono utilizzati dalla comunità degli sviluppatori e dei volontari per sottoporre la scoperta di un problema nel funzionamento di Joomla! e utilizzare sul campo le procedure per confermare l'esistenza del bug ed eventualmente confermare il funzionamento della patch proposta, se disponibile.
Durante la prima parte dell'incontro Nicola Galgano ha spiegato come vengono applicate le regole generali che si è data la nostra grande comunità di sviluppo e il flusso che deve seguire ogni singolo miglioramento per arrivare a essere incluso nella release attuale di Joomla!.
Per effettuare i test, che rappresentano il cuore di un evento Pizza Bug & Fun, è necessario usare una installazione di Joomla che comprenda gli ultimissimi aggiornamenti già approvati ma non ancora rilasciati e che abbia installato un componente specifico (Joomla patch tester) che permetta di applicare una singola patch alla volta per poterne confermare il funzionamento. Per questo avevamo a disposizione una serie di siti di prova che ci sono stati preparati e messi a disposizione per l'evento. Inoltre occorre registrarsi su https://github.com/joomla/joomla-cms per poter inserire i risultati dei propri test.
Il contributo più semplice che ciascuno può dare è la verifica dei bug già segnalati e non ancora confermati che sono elencati a questa pagina https://issues.joomla.org/
Si tratta della seconda tappa che la scoperta di un bug deve compiere, infatti il problema dopo essere stato segnalato deve essere confermato da almeno due persone diverse, e per farlo bisogna mettersi nelle stesse condizioni descritte e verificare che il difetto o l'errore si presenti allo stesso modo.
Verificare una patch.
Quando viene proposta una patch, vale a dire una modifica del codice, occorre testarne la validità. La patch viene rilevata dal componente Joomla patch tester che avete inserito nella vostra piattaforma di test e può essere attivata per procedere a verificare la soluzione del problema segnalato. Se tutto fila liscio si può andare a inserire il risultato del test su Github, e questa è stata la prima attività che abbiamo svolto durante la mattinata. Dopo aver inserito la nostra conferma abbiamo ricevuto una mail automatica dal sistema e anche un ringraziamento personale dallo sviluppatore che aveva segnalato il bug.
Possiamo dare un contributo più importante se ci siamo accorti di un malfunzionamento e lo vogliamo segnalare: questo è stato fatto dalla nostra Mariella Colombo, che ha sottoposto due errori che aveva notato nella gestione delle ACL nel componente del core di Joomla che gestisce i tag.
Uno dei problemi è dato dal fatto che il permesso di accesso e modifica che viene dato a un gruppo specifico non permette la visualizzazione della voce di menu per quel componente.
L'altro problema si presenta nella visualizzazione della lista dei tag che mostra un errore.
Secondo Mariella il bug si trova nel codice del componente, che cerca di stabilire se è presente o meno il permesso "editone" mentre al componente tag non deve essere assegnato il permesso "editone" ma solo "edit": la nostra docente non solo ha trovato il problema, ma ha anche trovato la soluzione e si tratta di un semplice cambiamento in una sola riga di un solo file.
Nicola Galgano l'ha incoraggiata a sottoporre l'issue mostrando a tutti le modalità di segnalazione dei problemi. In questi casi è molto utile allegare alla spiegazione dei problemi gli screenshot nelle pagine dove si verifica il difetto, oltre alla descrizione sintetica ma completa delle condizioni in cui si verifica e delle funzioni coinvolte.
Abbiamo potuto vedere in tempo reale come Mariella ha dato un nome esplicativo alla sua proposta di modifica e l'ha descritta indicando in modo sintetico ma completo:
A) qual è il problema
b) come verificarlo
c) come risolverlo
La richiesta di modifica inserita è stata registrata al numero 10652.
La proposta di modifica non sarà inserita automaticamente ma, dopo la verifica dei tester volontari, dovrà sottostare all'approvazione del team di debug, che è costituito da almeno due sviluppatori abilitati. Se dovesse essere approvata, la modifica verra inserita nella prossima versione di Joomla!
Il lavoro che siamo chiamati a fare in quanto tester volontari è sostanzialmente controllare che il problema si ripresenti alle condizioni indicate da Mariella seguendo le istruzioni che ha inserito nella segnalazione, completate dalle relative videate.
L'abbiamo fatto e verificato: l'errore si presenta!
Il passo successivo è stato applicare la patch preparata da Mariella e già disponibile nel sito di test sul componente Joomla patch tester.
Aggiornate le patch disponibili e applicata la numero 10652 abbiamo potuto verificare che l'errore non si presentava più!
L'ultimo passo per rendersi utile è confermare che la patch ha funzionato: clicchiamo sul bottoncino giallo e completiamo la recensione con un commento:
La sera stessa la modifica è stata approvata, due sviluppatori l'hanno confermata e sarà inserita nell'aggiornamento 3.6
a questo link https://github.com/joomla/joomla-cms/pull/10652 si può seguire tutto il flusso, dalla segnalazione all'approvazione finale di Brian Teeman e i ringraziamenti di Roland-d: "Thanks everybody and PBFIT"
La giornata è stata interessante e produttiva, nel pomeriggio abbiamo testato e approvato molti altri bug, Nicola Galgano si è rallegrato per i risultati e complimentato per la competenza e la generosità dei soci presenti e di Joomla! Lombardia: una volta ancora abbiamo contributo fattivamente al progresso di Joomla!, uno strumento che tutti noi usiamo gratuitamente per i nostri siti professionali o amatoriali, spesso senza domandarci cosa comporta per la comunità dei volontari produrre una release stabile e performante.
E la pizza?
La pizza è arrivata calda e fragrante e l'abbiamo gustata con piacere insieme alle birre gelate, ecco le prove:
Foto e articolo di Bianca Maria Carchidio