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.

pizza bug e fun 01

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!.

pizza bug e fun 02

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.

pizza bug e fun 03

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.

 pizza bug e fun04

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.

Mariella

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!

errore

Il passo successivo è stato applicare la patch preparata da Mariella e già disponibile nel sito di test sul componente Joomla patch tester.

patch

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:

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:

pizza 01

pizza 02

pizza 03

pizza 04

Foto e articolo di Bianca Maria Carchidio