Nel maggio di quest'anno, il nostro leader del team mobile Moodle, Juan Leyva, ci ha fatto conoscere il nostro Studente di Google Summer of Code (GSoC), Diwakar Motur.
Diwakar è stato scelto tra diversi candidati per lavorare su un progetto intitolato "Migliora i test end-to-end nell'app mobile."
Riassumendo, il progetto mira a migliorare il modo in cui testiamo l'app mobile Moodle durante lo sviluppo e prima di ogni nuova versione.
Diwakar fornisce una descrizione più dettagliata e tecnica del suo progetto attraverso il suo diario introduttivo GSoC, che è stato anche aggiornato regolarmente per riflettere la seguente durata del progetto:
- Giornale GSoC'17: Fase finale
- Giornale GSoC'17: Fase 2
- Giornale GSoC'17: Fase 1
- Giornale GSoC'17: periodo di adesione alla comunità
- Giornale GSoC'17: Moodle Mobile, Collaboration, Project Proposal
L'11 settembre, i nostri sviluppatori Moodle hanno twittato quanto segue, congratulandosi con Diwakar per aver completato con successo un progetto GsOC.
Congratulazioni al nostro #GSOC Lo studente 2017 Diwakar Moturu per aver completato con successo il suo progetto! https://t.co/3hsCAWNnmX #moodledev
- Sviluppo di Moodle (@moodledev) 10 settembre 2017
Ora siamo molto entusiasti di parlare con Diwakar stesso e il suo mentore, Juan, del progetto.
Moodle HQ: In primo luogo, congratulazioni Diwakar per aver completato il tuo progetto GSoC con noi. Cominciamo con un po 'di te per i nostri lettori.
Come sei stato coinvolto per la prima volta in progetti open source? E perché hai scelto di lavorare con Moodle?
Diwakar: Grazie. Sono attualmente uno studente non laureato dall'India che persegue lauree in informatica. Amo la programmazione, la risoluzione dei problemi e le sfide algoritmiche e sono un grande appassionato di Open-Source. Ho iniziato a programmare quando mi sono iscritto al college (circa 2 anni fa) e ho iniziato a costruire piccoli progetti e li ho ospitati su Github. Più tardi nel mio secondo anno, ho sentito parlare di GSoC dai miei anziani del college e poi ho iniziato a cercare progetti che sono rilevanti per me e che hanno un impatto globale. Ovviamente, essendo Moodle il più grande LMS, ho attirato la mia attenzione e stavo esplorando l'organizzazione e i suoi progetti. Moodle Mobile è molto vicino alle mie capacità e ai miei interessi, quindi ho iniziato con esso e la collaborazione è stata fruttuosa da allora.
Moodle HQ: In i tuoi post sul blog GSoC regolari hai registrato tutte le diverse fasi del tuo lavoro e coinvolgimento con il progetto.
Qual è stata l'esperienza / e più memorabile per te che porterai via come lezioni importanti sullo sviluppo, Moodle o open source in generale?
Diwakar: La cosa più memorabile per me è iniziare con i miei contributi. Molte persone trovano difficile entrare nel flusso di lavoro di sviluppo dell'organizzazione e presto rinunciano. Quindi, sebbene inizialmente sia stata la parte più difficile, dato che non ho avuto esperienze precedenti, Moodle Mobile è un grande progetto e il mio primo contributo accettato è sempre speciale. Prima di allora, i miei contributi non erano adatti per alcune ragioni (scarsa registrazione dei git, cattive pratiche di sviluppo), ma ho continuato a lavorarci fino a quando non è stato accettato e, da allora, è stato più facile contribuire. Una lezione importante imparata sarebbe quella di continuare a provare. Soprattutto per i principianti, essi (noi) trovano inizialmente difficile o impossibile risolvere un problema e finiscono per lasciarlo. Non farlo, chiedi aiuto a collaboratori regolari e manutentori del progetto, vai a StackOverflow e continua a provare.
Moodle HQ: Quali sono state alcune delle cose che hai trovato impegnativo durante il progetto e in che modo tu, Juan e la comunità Moodle avete risolto queste sfide?
Diwakar: Ci sono molte sfide che abbiamo dovuto affrontare durante il progetto. Poiché il progetto funziona principalmente su un ambiente integrato di vari servizi come Travis, SauceLabs, il sito dimostrativo di Moodle, le cose non vanno bene se uno qualsiasi dei servizi fallisce.
In particolare, ci sono alcuni problemi con SauceLabs, i loro emulatori e simulatori non funzionano bene su richieste di test in blocco e poiché si tratta di un prodotto molto nuovo e la loro API per i test mobili è incoerente, quindi abbiamo discusso e proceduto all'utilizzo dell'API del browser che è abbastanza stabile e ha aperto i biglietti sui loro forum per problemi minori relativi ai test mobili. Successivamente, Travis ha un timeout di build duro di 50 minuti, mentre i nostri build aumentano fino a 4 ore. Quindi abbiamo deciso di dividere la build in numero di lavori e di eseguirli singolarmente e contemporaneamente. Questa è una grande spinta per la velocità.
Ci sono stati anche alcuni altri problemi minori che sono stati risolti in seguito durante il periodo di sviluppo. Il mio mentore Juan Leyva mi ha sempre supportato e aiutato durante queste fasi. Sarebbe stato molto difficile o addirittura impossibile per me risolvere senza il suo supporto ed esperienza.
Moodle HQ: Ultima domanda Diwakar, dove da qui? Quali sono i tuoi piani futuri per lavorare in progetti e sviluppo open source?
Diwakar: Mi piacerebbe molto continuare a contribuire a Moodle Mobile e lo farò frequentemente nel mio tempo libero. In futuro, dopo la laurea, oltre ai regolari contributi ai progetti, sto progettando di costruire un progetto open source su scala che avrà un impatto globale. Sono aperto a interessanti opportunità di carriera a livello globale e collaborazioni di progetti open source.
Juan Leyva è il nostro team leader Moodle Mobile e mentore di Diwakar durante il progetto. Abbiamo anche impiegato del tempo per ottenere un riepilogo da Juan.
Moodle HQ: Juan, grazie per aver dedicato del tempo a chattare con noi. Congratulazioni per aver guidato il Diwakar per questo progetto GSoC. Cosa ti ha reso volontario come mentore?
Juan: Questa è la terza volta che faccio il mentore. La prima volta che il progetto non ha raggiunto il completamento completo, il secondo è stato migliore, ma ho sentito che avrei potuto avere un mentore migliore, quindi ho deciso di essere un mentore per la terza volta e utilizzare la mia esperienza precedente (e ciò che ho imparato dalla mia errori).
A parte questo, la mia motivazione principale era il mio amore per l'open source ed ero ansioso di avere più collaboratori di Moodle Mobile.
Moodle HQ: Infine, puoi spiegare quali sono stati i risultati del progetto e in che modo contribuirà allo sviluppo futuro dell'app Moodle Mobile?
Juan: Grazie al lavoro di Diwakar abbiamo ora un set completo di test automatici che ci avviseranno se abbiamo introdotto accidentalmente regressioni nel codice. Ciò significa che abbiamo nuovi strumenti per garantire che le nuove versioni dell'app mobile siano stabili 100%.
Ancora una volta, congratulazioni a Juan e Diwakar per il successo del progetto Google Summer of Code 2017.
Grazie al team di GSoC per l'organizzazione annuale di questa opportunità.
Per saperne di più sul programma, vai su Sito web GSoC o segui il nostro Team di sviluppo di Moodle @moodledev per tutte le ultime notizie e quando faremo un altro invito a partecipare per il prossimo anno!