I’m In – At Summit

Ci siamo

Ho l’immenso piacere di essere presente al summit e di poter partecipare ad un evento moltoo importante in ambito Atlassian. Il SUMMIT 2017. Quest’anno abbiamo anche il piacere di avere il primo summit europeo

La Fira di Barcellona è la location ideale per questi eventi 🙂

Anche se in ritardo per la giornata AUG, sono riuscito a fare alcune delle …. milioni di domande ai rappresentanti della InTENSO

Professionali e preparatissimi, hanno risposto alle mie domande. Grazie della Pazienza 😀

La fiera è enorme e ve lo assicuro: c’è da perdersi.

Il primo giorno è stato molto …. running. Ho praticamente corso tutto il giorno.

ma ho avuto il piacere di incontrare tantissimi amici con cui ho avuto solo l’occasione di poter dialogare a distanza. E’ stato molto bello. Il potersi confrontare, estendere le proprie conoscenze con le ultime novità e integrarle con tante tante tante tante altre info. Una sola parola: SPETTACOLO 🙂

La sera ho avuto il piacere, come AUG Leader di Bologna, di partecipare ad una cena con Uno dei fondatori della Atlassian: Scott Farquhar; ed il presidente: Jay Simons; e ritengo il più importante tra gli evangelist di Atlassian: Sven Peters. Un ringraziamento speciale a Darline Auguste per l’organizzazione dell’evento.

Cena molto interessante, dove ho avuto modo di poter parlare ed esprimere idee e confrontarmi con altri AUG Leader.

C’è ancora molto da fare e da chiedere. Nei prossimi post andremo a documentare il viaggio artigiano in questa fiera.




FishEye & Crucible 3.9 – Novità

Piccole novità

In questo post andremo ad esaminare le ultime novità si FishEye e su Crucible.

 

Dettagliamo le ultime news

Per FishEye sono state introdotti alcuni miglioramenti, principalmente inerenti le performance

Sono state riviste le Review Activity di Crucible.

Adesso è possibile rivedere le attività del team in maniera molto più semplice e diretta

 

Dai vari commenti è possibile visionare direttamente le porzioni di sorgente che sono state commentate:

 

Altre piccole migliorie, che riguardano entrambi i prodotti, sono le seguenti:

  • il supporto di Oracle 12 è adesso garantito;
  • rimosso il supporto per Java 7 e per Internet Explorer 9.

 

 

Conclusioni

Si tratta di piccole migliorie, ma sono sicuramente interessanti: Sono sicuro che le performance migliorate saranno ben accolte da tutti gli utenti.

 

Reference

 




Gestiamo un progetto con i prodotti Atlassian – 5

Introduciamo FishEye

In questo post andiamo a completare la panoramica dei prodotti Atlassian. Introduciamo FishEye e vediamo come possiamo usarlo per la gestione dei progetti .

 

 

Dove introduciamo FishEye?

Fisheye viene introdotto come interfaccia verso il sistema di controllo versione (SVN, Bitbucket, CVS, Mercurial, etc etc etc). L’obbiettivo è quello di avere a disposizione un sistema che, come già indicato in questi posts, aiuti nella gestione del codice.

Grazie alla perfetta integrazione con i prodotti della suite, FishEye consente di poter rintracciare tutte le operazioni che sono riferite ad una determinata Issue JIRA e di arrivare a completare il controllo indicando, sempre tramite JIRA, dove l’intervento è stato eseguito.

Come si può vedere, nella sezione Source abbiamo l’indicazione esatta, reperita proprio tramite FishEye, di dove si è intervenuti nel codice.

I vantaggi sono notevoli. Ve li lascio immaginare: Abbiamo il controllo completo del codice, degli interventi e possiamo rintracciare dove sono stati eseguiti.

In aggiunta possiamo anche operare la Code Review, come già indicato in precedente post, e arrivare a migliorare notevolmente il codice. In questo, Crucible, componente oramai agganciata a FishEye, ci aiuta senza grandi difficoltà.

Conclusioni

Abbiamo fatto una carrellata abbastanza vasta dei vari prodotti della Atlassian, ad eccezione di Bamboo. Questo ultimo, al momento, non viene trattato su questo blog. Spero entro la fine dell’anno di poter iniziare a trattare anche questo splendido prodotto e di poter completare l’analisi e la presentazione di TUTTI i prodotti della Atlassian.

 




FishEye/Crucibe 3.8 – Ultime novità

FishEye & Crucible – Ultime novità

In questo post andremo ad esaminare le ultime novità su FishEye e su Crucible, completando quanto riportato in questo post.

Come riportato nel loro blog, la Atlassian ha introdotto diversi aggiornamenti, con questa versione 3.8. Andiamoli ad esaminare nel dettaglio, descrivendoli 🙂

Migliori Performance

Sono state migliorate le performance dei prodotti, al fine di velocizzare la produttività dei team di sviluppo e delle loro attività.

 

E’ stato ridotto il tempo di caricamento dell’activity stream e del LOG delle attività e delle altre funzionalità dei prodotti. Questo sicuramente aiuta gli sviluppatori nel loro lavoro.

Java 7 is deprecated

Questa è l’ultima versione di FishEye & Crucible che supportano Java 7.

Altri miglioramenti

Sono stati eseguiti tutta una serie di correzioni, per entrambi i prodotti. I dettagli sono riportate nelle seguenti pagine di FishEye e Crucible.

Conclusioni

Aumentare le performance sicuramente aiuta nello sviluppo dei progetti. Rimaniamo in attesa di ulteriori miglioramenti nelle prossime versioni.




FishEye & Crucible – Esempio di una Code Review

Code Review

In questo post, vedremo un esempio di utilizzo di FishEye e di Crucible, per realizzare una Code Review.

Definizioni

Partiamo, come sempre, dalle definizioni. La prima definizione che segnalo è quella di wikipedia, che ritengo abbastanza completa (in inglese).  Una Code Review fondamentalmente è una analisi critica del codice, il cui obbiettivo è quello di determinare eventuali problemi o errori o possibili punti in cui si può migliorare il codice.

Mi permetto di evidenziare la parola eventuali , in quanto non è detto che quanto rilevato in una Code Review sia effettivamente un errore. Infatti (faccio appello alla mia esperienza), la soluzione adottata potrebbe essere dovuta alla situazione del momento o ad un particolare workaround adottato per poter risolvere il problema in una determinata emergenza. L’analisi deve essere critica ma deve essere fatta con giudizio e sopratutto con la …. testa :-D.

 

 Iniziamo

Già nei precedenti post dedicati a FishEye, abbiamo visto come è possibile poter navigare il codice direttamente da interfaccia Web.

 

I primi passi per poter iniziare una code Review sono i seguenti. Primo passo in assoluto è quello di creare un progetto all’interno di Crucible. Premessa: Occorre disporre dei privilegi di amministratore 🙂

Dal Cog menù, come indicato in figura:

Cog

selezionare Administration. Quindi, nella sezione Project Settings, selezionare Projects. Quindi Dare New Project.

 

Se si conosce come definire i progetti sotto JIRA, allora risulterà molto semplice gestire i progetti sotto Crucible. La logica è la medesima. Si definisce una KEY, utilizzata per numerare le segnalazioni di Code Review.

Una volta definito il progetto, possiamo andare ad iniziare la Code Review. Come? Semplicemente andando a spulciarci il codice e andando a controllarlo.

 

Semplicemente andiamo alla riga di codice che … attira la nostra curiosità 🙂 e con un semplice click del mouse, andiamo ad inserire il nostro commento. Il codice non sarà modificato: tutte queste informazioni saranno inserite nel db di FishEye. In questo modo possiamo iniziare una discussione che può terminare con una richiesta di intervento, esattamente come viene fatto per JIRA.

Da queste richieste è possibile andare a generare la richiesta di intervento sotto JIRA. Se abbiamo eseguito le operazioni di Application Link tra JIRA e FishEye, allora possiamo anche eseguire questa operazione, assegnando la modifica del codice.

 

Tutte le attività sotto Crucible sono comunque tracciate:

 

Ogni singolo commento viene tracciato e, in caso di necessità, è possibile risalire all’iter che ha portato alla modifica oppure alla mancata modifica del sorgente.

 

Tramite apposite Dashboard, abbiamo la possibilità di avere sempre la situazione completa delle Reviews in corso, quali chiuse, quali sono sfociate in segnalazioni JIRA, etc. 🙂

Conclusioni

Abbiamo visto come lavorare sotto Crucible, come gestire una Code Review e come poter sfruttare al meglio FishEye e come intergrarlo con i vari applicativi della Atlassian. Nei prossimi post andremo a visionare altre funzionalità.

Riferimenti

Manualistica:

 




Chiamate REST – First look

Chiamate REST

In questo post, iniziamo ad affrontare un tema molto importante, che riguarda come poter utilizzare le chiamate REST per poter programmare i vari prodotti della Atlassian. Si tratta del primo di tanti post che saranno dedicati all’argomento.

Un pò di definizioni

Partiamo fornendo alcune definizioni, che saranno utili per chiarire un pò di cose. La definizione di REST può essere reperita a questo link, da fonte WIKIPEDIA. Un altro esempio che consiglio è anche questo link, dove trovare alcuni esempi e definizioni. Altra definizione importante è quella di JSON, ovvero di un sistema di interscambio dei dati molto adatto per queste architetture.

Fondamentalmente, REST indica una architettura utilizzata per lo scambio di informazioni, per andare direttamente al dunque :-).

I vari prodotti della Atlassian, quali Confluence e JIRA, mettono a disposizione un insieme di API, già preconfezionate, attraverso il quale scambiare/reperire informazioni dai vari prodotti.

 

 

Iniziamo …

Vediamo adesso come partire per sfruttare queste informazioni. Iniziamo subito con un esempio pratico, che utilizza Confluence, per meglio chiarire il tutto. Per richiamare le API occorre sfruttare una URL come il seguente esempio:

 

http://192.168.114.140:8090/confluence/rest/api/XXXXXXXXX

dove XXXXXXXXX rappresenta la api che si vuole richiamare.

Ovviamente, si tratta di un esempio di URL che ho ricavato dalla mia installazione di test. Se andiamo ad usare una api molto semplice, quale CONTENT, che restituisce il contenuto del nostro Confluence, questo è il risultato:

REST01

Lanciando la API, senza fornire alcun parametro, quello che otteniamo è un JSON, che rappresenta il contenuto del nostro Confluence. Se iniziamo a raffinare la chiamata, passando uno dei parametri quale l’ID:

http://192.168.114.140:8090/confluence/rest/api/content/884738?status

REST02

Quello che otteniamo è il contenuto della seguente pagina:

acme02

che avevo creato per mostrare un esempio di page properties :-).

Quindi?

Quello che otteniamo è un grande risultato. A questo punto si apre un ventaglio di opportunità. Possiamo a questo punto leggere/scrivere tutta una serie di informazioni sul nostro Confluence, semplicemente sfruttando queste API. In questo modo si possono realizzare nuove funzionalità per tutti gli strumenti della Atlassian.

 

Conclusioni

Abbiamo visto, in questo post, in primo esempio di come poter accedere a queste api, di quali cose sono necessarie conoscere per poterle utilizzare e che risultati forniscono. Nei prossimi post Esamineremo degli esempi di utilizzo e di come poter utilizzare e chiamate REST per realizzare delle nuove funzionalità.

 

 




Fisheye 3.7

Annuntio vobis gaudium magnum

Habemus nuova release di Fisheye 3.7. In questo post andremo a spulciare sulle novità del prodotto, che cosa offre e cosa può fare per gli utenti.

 

Addì, 27 gennaio 2015…

… la Atlassian annuncia, nelle release note della pagina di FishEye, che è stata rilasciata la versione 3.7. Sono state introdotte alcuni miglioramenti quali:

  • migliorato il supporto per Mercurial 3.X e per Git 2.0, 2.1 e 2.2.
  • Non ci sarà più il supporto per Firefox 3.6 e 4.0
  • Non ci sarà il supporto per Safari 4 e 5
  • Da Aprile 2015, non ci sarà il supporto per Internet Explorer 9.

Viene anche data la possibilità di poter generare una review direttamente dagli activity stream :-), come mostrato nella seguente figura:

Conclusioni

Finalmente la Atlassian inizia a migliorare questo prodotto, che è un validissimo supporto per gli sviluppatori. Infatti da la possibilità di centralizzare in un unico punto le Code review e l’interfacciamento con il codice e, a stretto contatto con JIRA, aiuta lo sviluppatore a tracciare ogni singola modifica che viene operata. Ci ha quindi il controllo completo.




FishEye – 2

Approfondiamo Fisheye

In questo post andremo a vedere il funzionamento di Fisheye, in modo da gestire un semplice repository di codice sorgente, proseguendo quanto già discusso nel precedente post.

 

 

Di che cosa abbiamo bisogno?

Sostanzialmente, abbiamo bisogno delle seguenti componenti:

  • Repository SVN
  • FishEye
  • JIRA

Iniziamo

Supponiamo che il sistema sia stato già configurato in modo da avere a disposizione JIRA come repository degli utenti di FishEye.

La prima operazione da eseguire, una volta che FishEye è stato installato, è di eseguire le operazioni di Login come utente amministratore e di configurare un accesso ad un repository. Una volta eseguito l’accesso:

  • Tramite COG menù, accedere alla sezione di amministrazione. Quindi selezionare, da Repository Settings, Repositories:

fish-01

  • Selezionare quindi Add repository

A questo punto, seguire il wizard, in modo da configurare l’accesso di FishEye al repository. Vediamolo nel dettaglio:

fish-02

Specificare la tipologia di repository. Fisheye consente di poter selezionare tra più tipologie (Es. Mercurial, CVS, Subversion, etc).

fish-03

Passare quindi a fornire i parametri di connessione. Questa sezione del wizard varia a seconda della tipologia di repository. Viene quindi data la possibilità di eseguire il test di connessione, prima di andare al passo successivo.

fish-04

Vengono quindi richieste le ultime configurazioni. Confermate anche queste ultime, si è configurato il Repository. Si può procedere alla fase di sincronizzazione. Al termine, si dispone di tutte le informazioni necessarie memorizzate sul DB di FishEye. Questa operazione potrebbe richiedere del tempo e, di conseguenza, occorre attendere che sia terminata prima di eseguire altre operazioni.

Questo è il risultato:

 

Come si può osservare, direttamente da FishEye andiamo a spulciare il codice. Ma questo è solo uno degli aspetti. Una volta collegato a JIRA, possiamo anche a referenziare direttamente il codice sorgente e le variazioni dello stesso da JIRA. Semplicemente, andando a vedere la sezione source, possiamo andare a leggere quali interventi sono stati eseguiti 🙂

fish-05il tutto semplicemente andando a inserire, nel testo delle note a fronte del Commit, la chiave della issue JIRA.  Infatti, usando questa chiave, Fisheye riesce a eseguire il link con la issue JIRA e attiva il TAB source.

 

Conclusioni

Abbiamo visto, in questo post, che cosa consente di fare FishEye nel dettaglio. Nei prossimi post approfondiremo l’argomento con la Code Review (Crucible) e con altre operazioni che sono possibili con Fisheye.

 




Arrivederci Atlassian onDemand. Benvenuto Atlassian Cloud

Atlassian Cloud

La Atlassian, nel sul blog, ha informato che sarà reso operativo il servizio di Atlassian Cloud. Con questo servizio metteranno a disposizione tutti i prodotti della Atlassian nel cloud.

Ma il servizio onDemand?

Non sparisce. Semplicemente cambia nome da onDemand a Cloud. Rendono i servizi migliori e più performanti.

Tutti coloro che dispongono del servizio onDemand vedranno semplicemente sparire l’etichetta onDemand a favore dell’etichetta Cloud, ma continueranno ad avere gli stessi servizi, con una maggiore reattività.

Maggiori raggiagli sui servizi offerti (che sono praticamente gli stessi di onDemand) alla seguente pagina di documentazione.

Conclusioni

Prepariamoci a delle belle sorprese. 🙂




Fisheye – First Look

First Look

In questo post iniziamo ad esaminare un componente della Suite di Atlassian. FishEye.

 

 

Quale funzione svolge?

Fondamentalmente è il componente della suite che si interfaccia con il sistema di controllo versione del codice.

 

FishEye provides a read-only window into your Subversion, Perforce, CVS, Git, and Mercurial repositories, all in one place. Keep a pulse on everything about your code: Visualize and report on activity, integrate source with JIRA issues, and search for commits, files, revisions, or people

 

Si tratta di un applicativo WEB che si interfaccia al sistema di controllo versione del codice e, agganciandosi agli altri componenti della suite, consente di poter arrivare ad un controllo completo dello sviluppo.

Attraverso FiehEye è possibile tracciare, usando una unica interfaccia, tutte le variazioni al codice di un software. Non solo. Integrandosi con JIRA e eseguendo opportune azioni, è possibile agganciare le variazioni che sono state operate al codice alla Issue JIRA di pertinenza, senza fatiche estreme e senza dover eseguire chissà quale numero di azioni.

 

Come lo realizza?

Semplicemente inserendo il codice della issue JIRA nel testo della commit. Provo a chiarire meglio. FishEye, semplicemente, esegue un polling al database del controllo versione configurato. Quando identifica una azione di commit, verifica che cosa è stato riportato come descrizione. Se riconosce la issue JIRA, verifica se esiste nel JIRA collegato a FishEye ed esegue un aggiornamento affinché il codice modificato sia agganciato alla ISSUE.

Il risultato è la possibilità di poter avere il controllo completo dello sviluppo, semplicemente accedendo alla pagina di dettaglio della Issue di JIRA.

Infatti, l’operazione di aggiornamento che FishEye esegue, è quella di agganciare il codice alla issue e fai si che, accedendo alla pagina della Issue, si possa anche visionare il codice modificato e dove è stata eseguita la modifica.

 

Conclusioni

Vi lascio immaginare il risultato, ma quello che si ottiene, letteralmente, è il controllo completo dello sviluppo/manutenzione del codice. Gli sviluppatori e i project manager dispongono così di uno strumento avanzato per poter monitorare tutte le azioni che sono eseguite sul codice, consentendo anche di migliorare la produzione ma non solo.

FishEye non è solo questo, ma anche Code Review, attraverso uno strumento che viene fornito: Crucible.

 

Prossimi passi

Nei prossimi post, andremo a vedere nel dettaglio come realizzare questa integrazione, come poter eseguire una code review e come poter integrare tutti questi strumenti.