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

 

 




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.




JIRA Service Desk – SLA ed altre configurazioni – Parte 3

Prosegue il viaggio

Proseguiamo, in questo post, quanto iniziato dal primo e secondo post su JIRA Service Desk. Verdremo come configurare ed usare le SLA, la repostistica. Quindi spiegheremo un semplice esempio di che cosa succede, da quando si apre un ticket a quando lo si risolve.

 

 Terminologia

Diamo la definizione di alcuni termini, per meglio chiarire alcuni concetti.

Iniziamo con il termine SLA, ovvero Service Level Agreement. Vi rimando al link precedente per una definizione ufficiale. Si tratta degli indicatori della qualità del servizio. JIRA Service Desk consente di poterli configurare attraverso le proprie pagine di amministrazione, nonché di monitotarle attraverso opportuni strumenti 🙂

 

Configurazione

Accedendo alla dashboard di gestione, possiamo impostare le configurazioni. Se selezioniamo il TAB SLA, accediamo alla definizione delle metriche.

SLA01

Selezionando New Metric è possibile inserire una nuova metrica, configurarla in modo abbastanza semplice. Vediamo come.

SLA02

Una volta selezionato New Metric, possiamo impostare quale nome assegnare alla metrica (nella immagine precedente, ho scelto di chiamarla Esempio SLA, ma utilizzate il nome che vi è più comodo.

Fatto ciò, occorre selezionare quali stati del task JIRA sono indicati per fare, letteralmente, partire l’orologio che conta le tempistiche della SLA.  Una volta impostato tutti i parametri, selezioniamo Create e la nuoa SLA è creata.

SLA03

Il sistema richiederà qualche istante, per eseguire il ricalcolo (vedi figura precedente), per controllare se esistono delle richieste che in qualche modo si riferiscono alla nuova metrica.

Prossimo passo?

Dopo aver configurato le metriche, vediamo come utilizzarle per generare dei report e vedere a questo punto il risultato della nuova metrica. Per fare ciò , basta semplicemente collegarsi alla sezione Reports e creare un nuovo report basato sulla metrica che abbiamo creato.

SLA04

Selezioniamo New Report e procediamo con la creazione del nuovo report, semplicemente accedendo alla autocomposizione che ci aiuta nella generazione.

SLA05

Selezioniamo Add Series e aggiungiamo tutte le informazioni per generare il nuovo report.

SLA06

Fatto ciò, Questo è il risultato:

SLA07

 

Conclusione

Abbiamo visto un esempio di come definire un nuovo SLA e come costruire un report basato su di esso. Nei prossimi passi vedremo altre funzionalità di questo prodotto.




modulistica con Confluence

Modulistica

Esamineremo, in questo post, la possibilità di poter generare o manutenere della modulistica in Confluence.

 

Di cosa abbiamo bisogno

Vediamo di che cosa abbiamo bisogno, per poter realizzare questa funzionalità.

Confluence

Possiamo realizzare la modulistica in tanti modi. Andiamo ad esaminare il modo più semplice 🙂

 

Attachments

Possiamo usare Confluence come un semplice repository di allegati. Organizziamo il tutto come segue. In uno space dedicato, creiamo tante pagine quante sono le aree interessate e, per ogniuna di queste pagine, andiamo a caricare degli allegati che saranno la nostra modulistica.

Abbiamo poi una larga scelta di possibili modi di poter organizzare questi allegati, sia sfruttando le componenti standard, già presenti in Confluence, che utilizzando anche altri sistemi per gestire gli allegati, come i seguenti addon:

Daremo una prima occhiata a questi addon, lasciandone l’analisi approfondita nei prossimi post, dove dettaglieremo le potenzialità :-).

 

 Template

L’uso di template aiuta notevolmente nella stesura della modulistica. In particolare, aiuta anche nella realizzazione e compilazione dei moduli. Il sistema è abbastanza semplice, in quanto la generazione dei template consente di poter preimpostare una pagina prefincata e consente, successivamente, di generare una pagina confluence che rimane a disposizione come copia ‘elettronica’ del documento.

 

 Vediamo gli addon

Passiamo ad esaminare singolarmente i vari addon.

Il primo, Scroll PDF Exporter, consente di poter generare, data una o più pagine confluence, un documento PDF opportunamente formatato. Opportune autocomposizioni e wizard, consentono di poter impostare il tutto:

 

Questo vale sia per l’esportazione delle pagine, che per la formattazione. L’addon mette a disposizione un sistema per poter definire quali caratteristiche deve possedere il documento estratto:

 

Come possiamo vedere dall’immagine precedente, il sistema di generazione è molto semplice.

Esattamente allo stesso modo con cui eseguire le esportazioni del documento.

 

Gli altri addon consentono di poter meglio organizzare gli allegati, permettendo di poter gestire anche su sistemi remoti.

 

 

Conclusioni

Abbiamo visto un nuovo esempio in cui Confluence si dimostra un valido aiuto nella gestione del lavoro di tutti i giorni.




Question & Answer 2.0 – Ultime news

Questions 2.0 – Ultime novità

Esaminiamo, in questo post, le ultime novità su Questions. Proseguiamo quanto riportato in questo post.

Vediamo le novità in dettaglio

Viene adesso data la possibilità di poter associare le domande a determinati Space. Questo significa che un utente può indirizzare le domande ad un gruppo di persone ben specifico le proprie domande, oppure può indirizzarle a tutti gli utenti.

Al momento è possibile scegliere solo uno Space specifico. Sono abbastanza convinto che, nei prossimo futuro, sarà possibile scegliere anche più space 🙂

Avere la possibilità di poter indirizzare le domande ad uno Space, implica che per poter leggere queste informazioni occorre disporre delle autorizzazioni per gli space. Ciononostante, viene data la possibilità, quando si ricerca, di poterle vedere nei risultati della ricerca.

La scelta di poter indirizzare la domanda ad uno space specifico, consente di poter inviare la richiesta ad un team specifico. Consente inoltre di poter creare delle banche dati di informazioni specifiche per settore, laddove necessario.

Viene comunque lasciata la possibilità di poter inviare la domanda a tutti gli utenti, come originariamente.

Conclusioni

Da una parte vedo che abbiamo la possibilità di poter creare dei posti unici di conoscenza specifica, laddove potrebbe non essere indicato il caso di avere una conoscenza distribuita. In questo caso vedo sia un vantaggio che uno svantaggio.

Come svantaggio, viene meno il principio di mettere a disposizione di TUTTI la conoscenza aziendale, che sicuramente è un aiuto valido. Questo vale anche per quelle informazioni settorializzate. Faccio un esempio. Probabile che ad un Javascript Developer non interessi il ciclo di vita di una fattura, ma potrebbe interessargli come funziona il calcolo delle ferie :-).

Come vantaggio vedo la possibilità di creare delle aree di conoscenza molto specifiche, che possono interessare solo dei piccoli team di lavoro e che magari, essendo molto specifici, potrebbe non essere conveniente diffondere oltre il gruppo di lavoro stesso.

Riferimenti

Maggiori informazioni, in inglese, sono reperibili qui.

 




JIRA Service Desk 2.3

JIRA Service Desk 2.3 – Ultime novità

In questo post proseguiamo quanto riportato qui, cercando di approfondire le ultime novità su questo prodotto della Atlassian.

 

Quali ulteriori novità?

Neanche un mese dalla uscita della versione 2.2, cerchiamo di elencare le novità introdotte 🙂

  • Gli utenti possono invitare altri utenti per farli partecipare alle discussioni sulle richieste. Prima era consentito ai soli agenti poter eseguire queste operazioni. In questo modo, gli agenti hanno la possibilità di poter comunicare la risoluzione del problema ad un numero di utenti maggiore, ridurre il numero delle segnalazioni e concentrarsi solo sui veri problemi;
  • Rimane invariata, per quanto riguarda le licenze, il discorso che, nell’ambito del JIRA Service Desk, la questione che solo gli utenti Agenti vengono contati per determinare le licenze;
  • Gli Agenti possono aprire delle segnalazioni a nome di utenti specifici Gli agenti hanno quindi la possibilità di poter creare delle segnalazioni per nome e conto di utenti, continuano a poter invitare altri utenti nella segnalazione, consentendo di ridurre il numero di segnalazioni e concentrando il lavoro solo dove è necessario. Un bel passo avanti 🙂
  • Supporto per le email di solo testo. Con questa nuova versione di JIRA Service Desk, viene data la possibilità di poter gestire delle email senza HTML. Questo per venire incontro agli utenti che utilizzano dei sistemi di lettura automatica di email o che sono …. affezionati alle email di solo testo 
  • Migliorata la console di amministrazione. Viene data agli amministratori la possibilità di gestire meglio le email semplificando la console stessa e aumentandone la chiarezza. Viene data la possibilità di poter visualizzare maggiori informazioni, LOG e dettagli delle email utilizzate.
  • Sono stati risolti un discreto numero di …. bug 🙂

Conclusioni

Viene confermato che la Atlassian non smetterà mai di sorprenderci con nuove features, nuove funzionalità e nuove caratteristiche non indifferenti. Sono sicuro che, tra non molto tempo, torneremo a parlare di nuove sorprese 🙂

 

Riferimenti

Maggiori informazioni possono essere rintracciate qui. Altre informazioni sono reperibili a questa pagina