Script in Confluence – First Look

Script in Confluence

In questo post andremo ad esaminare come possiamo estendere le funzionalità di Confluence, attraverso un semplice addon, in modo da creare delle semplici Dashboard che consentano di visualizzare dei dati molto semplici.

 

Di che cosa abbiamo bisogno?

Quello di cui abbiamo bisogno è:

Quest’ultimo rende possibile l’utilizzo di codice all’interno di pagine Confluence, mettendo a disposizione una serie di Macro che, inserendo opportuno codice, consentono di inserire dei contenuti sulle pagine Confluence.

Diamo una prima occhiata

Le macro consentono di poter inserire diversi tipi di codice. I linguaggi supportati sono i seguenti:

che non sono pochi e consentono un ampio spettro di possibilità. Possiamo aggiungere anche interrogazione a DB e arrivare a realizzare una visualizzazione dinamica di dati.

Dalle immagini vediamo che la macro consente di scrivere il codice in maniera semplice e con un discreto Syntax highlighting.

Le macro messe a disposizione, consentono di poter definire diversi parametri, tra le quali:

  • Come viene generato l’output: Wiki, html, xhtml;
  • Dove si trova lo script. ABbiamo la possibilità di poterlo memorizzare direttamente sul Server e di specificare dei percorsi ben precisi oppure se può essere reperito attraverso una URL ben precisa.
  • Viene data la possibilità di poter leggere anche un allegato ad una specifica pagina, come origine del dato.

Conclusioni

Da questa prima occhiata, vediamo che lo strumento è valido. Nei prossimi post vedremo degli esempi di uso di questo addon, in modo da saggiarne meglio potenzialità e limiti.

Reference

Fare riferimento qui per la manualistica dell’addon.




Domande & Risposte JIRA

Domande & Risposte

Proseguiamo quanto iniziato in questo post, dove abbiamo iniziato a fornire delle risposte ad alcune domande che mi sono state poste nel corso della mia esperienza.

 

JIRA Cloud o Server?

Il suggerimento è il medesimo di Confluence. Se abbiamo una organizzazione piccola, cloud è sicuramente la nostra risposta. Nessuna preoccupazione, un prezzo accettabilissimo e tutte le funzioni pressoché disponibili 🙂

 

La versione Cloud risponde in pieno alle esigenze anche di gruppi di lavoro abbastanza ampi, anche remoti. Se invece l’organizzazione dispone di un numero molto alto di persone, la versione Server è sicuramente la migliore soluzione.

 

Conviene usare JIRA Service Desk?

La risposta è sicuramente SI :-). JIRA Service Desk combina le caratteristiche di un ottimo service desk e trouble ticket manager, con la potenza di JIRA e della organizzazione. La semplicità di uso, descritta nei post, è sicuramente un grande vantaggio, allo stesso modo della licenza che la Atlassian fornisce per utilizzare questi prodotti.

 

Aggiungendo che tutti i prodotti Atlassian sono fruibili anche da tablet, con la stessa facilità di uso, ne fa un prodotto irrinunciabile.

AGILE o non AGILE con JIRA?

Dipende. In questo caso, l’unico consiglio che posso dare è il seguente. Seguite la strada più semplice in assoluto per voi. Non usate le metodologie Agile solo perché l’azienda concorrente le usa e si trova bene o per semplice moda.

Questo è un errore. Piuttosto scavate a fondo nelle metodologie in uso, analizzatele e, solo dopo attenta analisi, usate altra metodologia o una sottoparte della Agile, quella che effettivamente calza a pennello con le persone in azienda, con i clienti, con quello che siete.

Se volete fare uso di AGILE, JIRA mette a disposizione addon molto belli e pratici, che nella vita lavorativa di tutti i giorni aiutano gli sviluppatori e i project manager.

 

 

Asset manager? possibile con JIRA?

La risposta è SI :-D. Con JIRA è possibile gestire degli ASSET manager, in maniera molto semplice. Già in questo post, ho dimostrato che, partendo da un esempio che la Atlassian stessa pubblicava, riuscivo a dimostrare che era possibilissimo gestire delle risorse riusabili. Nei prossimi post vedremo anche degli esempi reali che mostrano come poter fare. Riporto qui quello che la Atlassian ha creato per gestire il proprio Asset 🙂

 

 

 

Conclusioni

Ho cercato di riassumere alcune domande che mi sono state poste nel corso della mia esperienza lavorativa. Spero che possano essere utili. Nei prossimi post cercherò di aggiungere altre domande/risposte.




Domande & Risposte Confluence

Domande & Risposte

In questo post, sperimentiamo un nuovo modo di affrontare alcuni problemi o quesiti che mi sono stati posti in diversi ambiti. Spero che questo possa aiutare i visitatori del blog in modo da migliorare l’utilizzo di Confluence e che possa aiutarli nel loro lavoro

 

Conviene uno space unico per team di sviluppo o tanti Space per progetto?

La risposta è molto semplice. Dipende 🙂

Se si vuole operare una soluzione molto ordinata, conviene la seconda. Attraverso l’uso di template di space, dove si configura la struttura in modo tale da avere una organizzazione molto precisa e semplice, possiamo replicare gli space all’inverosimile e senza alcuna limitazione. In questo modo, i progetti sono ben ordinati, ogniuno al loro posto, con le connessioni ai relativi progetti su JIRA, e con la struttura comune che li contraddistingue. Inoltre, l’utilizzo dell’addon Yoikee Creator Templates, già descritto in questo post ed in questo post, aiuta a semplificare il lavoro di configurazione dello space.

L’unico svantaggio che abbiamo è nella configurazione dei privilegi, relativi all’accesso ai vari space. Dato che non si dispone di una gestione centralizzata delle permission, dobbiamo cercare di ovviare gestendo bene i gruppi.

Se il gruppo di lavoro è molto ridotto o se il gruppo di lavoro è composto da un esercito di un …. uomo solo, allora la soluzione di unico space va benissimo. In questo caso, non vedo la necessità di complicare l’organizzazione del lavoro con multispace. In questo caso, un solo space aiuta a mantenere l’ordine che serve. Teniamoci sempre il più semplice possibile 🙂

 

Conviene incentivare l’uso dei Personal Space?

Come indicato in questo mio post, l’obbiettivo di questi space è quello di creare lo spazio personale e riservato degli utenti, dedicato esclusivamente a loro e …. dove è possibile tenere i propri appunti sempre a disposizione o per condividere informazioni riservate solo ad alcune persone.

 

Possiamo usarlo come una sorta di repository interno e personale. Possiamo usarlo anche per sperimentare: Confluence, proprio per la sua natura, coinvolge gli utenti in modo da poter sfruttare tutte le funzionalità offerte e metterle a disposizione di tutti gli utenti. Quindi la risposta alla domanda è SI :-D.

Confluence Cloud o Server?

La scelta in questo caso è abbastanza semplice. Confluence Cloud va benissimo per professionisti, privati e piccole organizzazioni, per cui non si supera il numero di 25 persone.

Il Cloud è la soluzione ideale in questo caso. Nessun server da tenere acceso, niente corrente da pagare, sistemisti di turno, controlli, upgrade, etc. Tutto viene garantito da Atlassian ed il servizio, ve lo garantisco, merita molta attenzione.

Di contro, non tutti gli addon sono disponibili sul cloud, ma senza essere troppo arrogante, direi che almeno un buon 90% delle funzionalità sono garantite anche sul cloud.

L’installazione Server conviene per le organizzazioni più grandi, con un numero di utenti maggiore, per cui non è un problema disporre di server dove installare Confluence, dove le necessità sono maggiori e dove anche personalizzare è una necessità non indifferente 🙂

 

Conclusioni

Abbiamo esaminato tre domande relative a Confluence. Spero che le risposte possano essere utili. Nei prossimi post esamineremo altre domande e problematiche.




Buona Pasqua

Felice Pasqua ed un ringraziamento speciale a tutti i lettori di ArtigianoDelSoftware.

 

carpenters

 




Google APPS integration con Atlassian Cloud

Google Apps

In questo post parleremo della integrazione tra le Google Apps e Atlassian Cloud.

 

 

Una piccola novità

Come riportato nel Blog ufficiale di Atlassian, anche per Conflunce Cloud è stato reso possibile integrarlo con le Google apps. Viene data la possibilità di poter eseguire le login a Confluence cloud attraverso una unica login

 

Vantaggi

Una unica login per poter accedere ad un insieme consistente di servizi, non ultimo la possibilità di poter usare Confluence cloud :-).

Consiglio

Rimane comunque valido un consiglio, che ho sempre dato quando si fa uso di queste integrazioni. Mantenete sempre una utenza administrator non collegata a queste utenze di Google Apps.  😉 In questo modo, in caso di qualche disservizio o problema, una porta di accesso sarà sempre disponibile.

 

Riferimenti

Manalistica: Fare riferimento a questa pagina, per la gestione, ed a questa pagina per la configurazione del Confluence Cloud.

 

 




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.