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:

 

Advertisements

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

 

 

NoStorm email – Addon per Confluence

Miglioriamo la produttività

Proseguiamo, con questo post, l’elenco dei consigli per migliorare la produttività degli utenti.

No email storm

Quante volte abbiamo modificato una pagina e, immancabilmente, ci si è scordato di togliere il flag di notify watchers? Direi quasi sempre :-). Il risultato? Una montagna di email per correggere anche solo una piccola parte della pagina o un semplice errore di digitazione.

In aiuto di questa dimenticanza ci viene in soccorso questo addon, che sa a sostituire il flag con un più agevole tasto salva E notifica, come mostrato nella seguente figura.

Questo consente agli utenti di migliorare la propria produttività e di evitare il proliferare di un numero immane di email. In questo modo, se dobbiamo operare una revisione minore, quale può essere il correggere un errore di battitura, lo possiamo fare senza dover avvisare tutti gli utenti. Si tratta di un discreto risparmio di email, ma soprattutto di un risparmio di … false segnalazioni agli utenti che seguono le modifiche alla pagina.

 

Conclusioni

Abbiamo un semplice addon che, aggiungendo un semplice tasto, arriva a semplificare e migliorare il lavoro degli utenti. Rimaniamo in attesa di nuovi addon 🙂

RMAN – first Look

RMAN – First Look

Iniziamo, con questo post, una serie di articoli in cui andiamo a spiegare il funzionamento di questo comando, la sua utilità ed il suo utilizzo.

 

Che cosa è?

RMAN (Oracle Recovery Manager) è un interprete a riga di comando. L’utility è presente in ogni installazione di database, anche per le installazioni XE (express).

 

A cosa serve?

Serve fondamentalmente per eseguire backup e restore di database Oracle. Il backup è inteso per ogni singola ISTANZA di Oracle, non per l’intero database. RMAN può eseguire sia backup FULL o completi che backup incrementali, in base alle esigenze o alle impostazioni eseguite

 

Esempio di uso

Vediamo un primo esempio di utilizzo. Per far ciò mi avvalgo della mia versione di Oracle 11 XE, che ho installato.

RMAN03

Come mostrato dalla figura, per accedere ad RMAN, attiviamo una sessione di CMD e successivamente digitiamo il comando RMAN TARGET /, per accedere alla attuale istanza Oracle. Dato che dispongo di una installazione XE, non avendo a disposizione che una sola istanza Oracle, non devo fare altre operazioni per selezionare dove connettermi. Dalla immagine possiamo vedere che siamo collegati alla istanza XE.

Possiamo subito vedere se abbiamo dei backup, lanciando il comando: LIST BACKUP SUMMARY;

RMAN04

che ci mostra l’elenco dei backup attualmente presenti a sistema.

Per lanciare un backup, lanciare il comando: BACKUP DATABASE; Il risultato sarà simile a quello mostrato ella figura sottostante (dove ho lanciato un comando similare, che ripete il backup ma eseguendo una validazione per verificare se è possibile eseguite l’operazione).

RMAN05

 

Per ripristinare il backup, semplicemente eseguire il comando RESTORE DATABASE

 

Conclusioni

Questo è solo il primo passo, per descrivere questa importantissima utility di Oracle, in cui abbiamo semplicemente presentato alcune delle funzionalità. Nei prossimi post, andremo ad esplorarla meglio e a fare dei semplici esempi di come possiamo utilizzarla.

 

 

Reference

Maggiori informazioni sono reperibili sui vari manuali Oracle, ma una buona reference è reperibile qui

 

 

 

addons per cloud

Altri addons per Confluence

Proseguiamo in questo post, quanto già affrontato in passato. Continuiamo ad esaminare altri addon per Confluence.

CQL Search

Si tratta di un addon che estende la funzione di ricerca, attraverso un opportuno metalinguaggio, e che consente di poter eseguire interrogazioni ad hoc per ricercare pagine ed informazioni.

 

Un apposito metalinguaggio simil-SQL, consente di poter eseguire le interrogazioni.

 

Una apposita macro viene messa a disposizione dell’addon, al fine di predisporre opportune pagine

L’addon è gratuito (al momento in cui viene redatto l’articolo).

 

Lucidchart app

Esaminamo adesso un valido addon che consente di aggiungere e gestire diagrammi, file visio e grafici per la versione Cloud.

 

Opportuni strumenti consentono di poter importare file da Visio e di costruire facilmente grafici nelle pagine di Confluence

 

 

Conclusioni

Abbiamo visto altri due addon per la versione Cloud di Confluence, molto interessanti ed utili. Rimaniamo in attesa di nuove sorprese 🙂

 

Riferimenti

Marketplace : CQL Search e Lucidchart for Confluence Cloud.

External Attachments for Confluence

Addon per Confluence

Esaminiamo in questo post un addon per Confluece, completando quanto riportato in questo post.

Andiamo nel dettaglio

Questo addon consente di poter allegare files da postazioni remote, attraverso URL o eseguendo un file browsing, come le normali funzionalità di Confluence.

 

Dovendo gestire degli allegati remoti, viene garantita una sincronizzazione degli stessi.

 

L’addon si integra totalmente con le macro esistenti, facilitando l’uso dello stesso agli utenti

 

Conclusioni

Abbiamo a disposizione un addon che ci consente di estendere le funzioni di Confluence, consentendo di poter allegare anche file remoti senza doverli necessariamente allegare su Confluence stesso, ma gestendoli come se lo fossero, e con la stessa facilità.

 

Reference

Maggiori informazioni sull’addon sono reperibili qui.