Stampiamo le pagine Confluence in PDF

Contenuti, Contenuti, Contenuti

In questo post andremo a vedere come possiamo stampare su PDF le pagine del nostro Confluence. Primo di una serie, in questo post andremo a fare una presentazione delle possibilità esistenti.

 

Come portare i contenuti su PDF?

Cerchiamo di dare una risposta a questa semplice domanda.

Abbiamo diverse possibilità, a seconda del nostro portafoglio, delle possibilità e delle potenzialità. Il primo sistema che abbiamo a disposizione è quello di stampare la pagina web su PDF (Opzione nativa su Chrome), sfruttando sia quello che il Browser offre che prodotti di terze parti, che ci creano delle stampanti virtuali che svolgono questa mansione.

Tuttavia, quello che potremmo ottenere, non sempre risulta di nostro gradimento: impaginazione non proprio perfetta, oppure riservarci delle sorprese e…. dover ricominciare da capo.

Altra alternativa è la funzionalità nativa di Confluence, come mostrato in figura:

pdf-01

Si tratta di una funzionalità nativa, messa a disposizione sia della versione server che della versione cloud, che consente di poter eseguire una esportazione, in formato PDF, della pagina correntemente visualizzata. Tuttavia il risultato potrebbe essere il medesimo e l’espressione del nostro viso potrebbe non mutare 🙂

L’operazione è possibile, sia per una singola pagina, che per un intero space/porzioni di space:

Infatti questa modalità ha necessità di essere opportunamente configurata. Ciò deve essere eseguito nella sezione di amministrazione: da COG menù selezioniamo General Configuration, quindi nel pannello di amministrazione cerchiamo la sezione LOOK AND FEEL:

pdf-02

abbiamo due sezioni dedicate alla configurazione:

  • PDF Layout
  • PDF Stylesheet

Il primo è interamente dedicato alla definizione del layout, dove andiamo a definire:

  • Titolo della pagina
  • Header
  • Footer

pdf-03

Il secondo consente di poter impostare un foglio di stile CSS da impostare per determinare lo stile del PDF.

Alternative?

Abbiamo valide alternative alle funzionalità standard di Confluence. Si tratta di un addon molto valido, ovvero Scroll PDF Exporter. Sviluppato dalla K15t Software GmbH, mette a disposizione una serie di funzionalità che semplificano notevolmente la vita dei redattori di documenti. Questo addon è al momento disponibile solo per le installazioni Server, ma confidiamo che funzionalità analoghe saranno presto disponibili su installazioni cloud.

 

Viene data la possibilità di poter definire degli export scheme  personalizzati, in maniera molto semplice, come siamo già abituati.

 

Semplici autocomposizioni consentono agli utenti, anche non espertissimi, di poter configurare un export scheme senza alcuna fatica e con pochi click del mouse.

 

Un addon molto completo e ben semplice, che consente di poter creare, dato un Confluence, un manuale in pochissimi click.

 

Altre alternative?

Abbiamo anche altre alternative, magari meno cool, ma andiamole a vedere. Sono sicuro che saranno molto interessanti 🙂

Iniziamo con PDF Macros for Confluence. Si tratta di un addon che mette a disposizione le seguenti macro, al fine di consentire l’esportazione su PDF delle pagine di Confluence:

  • PDF Pagebreak: Per forzare le interruzioni di pagina
  • PDF Landscape: Mostrare il risultato della pagina in Landscape.
  • PDF Hidden Content: Nascondere il contenuto in fase di esportazione
  • Hide in Web View: Mostrare il contenuto solo su esportazione
  • Current Date and Time: Mostrare data e ora sulle pagine

Addon gratuito (al momento in cui viene scritto questo post), è una valida alternativa per predisporre delle pagine di Confluence, al fine di creare delle sezioni che diventino della manualistica.

 

Conclusioni

Abbiamo visto una panoramica di questo argomento. Nei prossimi post andremo più in profondità, per meglio capire come poter sfruttare queste funzionalità.




Vacanze

ArtigianoDelSoftware va in vacanza per qualche giorno ……..

 

la creatività e la fantasia ne approfittano per trovare sempre nuove soluzioni 🙂

carpenters




Template e Copy Page Tree – Una alleanza non indifferente

Componiamo le funzionalità

In questo post andremo a descrivere come possiamo comporre le due funzionalità in modo da ottenere un risultato unico 🙂

 

L’Unione fa la forza

Per riprendere l’omonimo detto popolare, mettendo insieme queste due funzionalità, è possibile creare un mix che può risultare molto utile nell’utilizzo di tutti i giorni di Confluence. Vediamo come.

Nell’uso di tutti i giorni, può capitare di voler usare delle pagine, e relative sottopagine, come dei template per implementare delle vere e proprie Schede di informazioni, come accennato nel seguente post. Adesso vediamo come realizzare il tutto con un esempio pratico. Questo può essere realizzato sia per le versioni Server, che per le versioni Cloud, in quanto l’addon è disponibile per entrambe le installazioni :-).

 

Come realizziamo il tutto?

Semplice. Creiamo uno Space ad hoc, dedicato ad implementare i template. Nel nostro caso, la home di questo Space, presenterà tutti i link ai Template impostati e ci aiuterà nella gestione degli stessi, come mostrato in figura.

Template01

A questo punto, una volta selezionato il template, attiviamo l’addon e copiamo il template dove ci serve.

Template02

Puntualizzazioni

Occorre evidenziare quanto segue:

  • La modifica dello Space, dedicato ai Template, non deve essere fornita a tutti gli utenti, ma solo ad utenti ben specifici. Questo al fine di evitare che si crei un caos non indifferente. L’utente medio deve limitarsi al solo utilizzo dei template. In caso, attraverso altri sistemi, sempre previsti ed attraverso opportuni sistemi, si può richiedere la creazione di nuovi template al personale autorizzato.
  • Una volta copiato il template dove richiesto, l’utente dispone della massima libertà di personalizzazione. Questo significa che, se il template prevede una pagina principale e 3 sottopagine, l’utente, una volta copiato, può aggiungere nuove sottopagine/togliere sottopagine, modificare la struttura interna delle pagine.

Conclusioni

Abbiamo visto un esempio pratico di come realizzare un mix di funzionalità, con l’obbiettivo di aiutare l’utente finale nello svolgimento delle sue attività.




nFeed – Un addon molto interessante

Esaminiamo un addon interessante

In questo post andremo ad esaminare un addon molto interessante. Abbiamo già esaminato degli addon della Valiantys e di sicuro ne resteremo soddisfatti 🙂

 

Che cosa consente di fare?

Questo addon mette a disposizione la possibilità di poter eseguire delle interrogazioni da …. ovunque 🙂

 

In particolare, mette a disposizione la possibilità di poter creare delle query da:

  • database
  • web services
  • File remoti
  • LDAP

e di memorizzare il risultato su campi custom.

 

Mette inoltre a disposizione degli utenti, la possibilità di poter scegliere come mettere a disposizione i risultati su tali campi custom, ovvero se:

  • deve essere messa a disposizione una texbox con autocomplete
  • se il campo deve essere read-only
  • se deve fornire dei risultati selezionabili da lista
  • Le liste successive sono conseguenza del valore che selezioniamo in precedenza
  • Usare l’addon per generare dei grafici e rendere meglio fruibili le informazioni
  • Impostare delle regole/dipendenze con altri campi di JIRA

Conclusioni

L’addon non delude e mostra delle caratteristiche molto interessanti :-). Nei prossimi post andremo ad eseguire la prova su strada, visionando in prima persona che cosa può fare per noi questo addon, saggiandone i limiti e verificandone le potenzialità direttamente sul campo.




Gestiamo gli appuntamenti

Appuntamenti

In questo post andremo ad esaminare come poter gestire degli appuntamenti attraverso Confluence e Team Calendar. In aggiunta, cercheremo di capire come poter automatizzare questa operazione in modo da poterla usare in diverse soluzioni.

Di cosa abbiamo bisogno?

Cercheremo di realizzare il tutto attraverso questi strumenti:

  • Confluence (versione Server/Cloud)
  • Team Calendar (versione Server/Cloud)

Come realizziamo il tutto?

Cerchiamo di realizzare il nostro calendario degli appuntamenti. Abbiamo diverse possibilità.

Sfruttanto l’addon Team Calendar, di cui abbiamo già parlato in vari posts, possiamo creare una pagina dedicata, dove andiamo a posizionare un calendario dedicato alla gestione degli appuntamenti.

Appuntamenti01

Basta selezionare Add Event e possiamo creare l’appuntamento, indicando le varie caratteristiche dello stesso, come mostrato nella figura successiva:

Appuntamenti02

Possiamo definire anche dei nuovi Event Type, a seconda delle nostre esigenze, oltre che definire dei reminder per essere avvisati per tempo.

Alternative?

Sempre attraverso Team Calendar, possiamo anche collegarci a Google Calendar, come specificato nella documentazione stessa di Team Calendar.

In questo modo abbiamo la possibilità di poter sfruttare un Calendario già in uso, attraverso Confluence, come già mostrato in altri post.

Conclusioni

Abbiamo visionato come Team Calendar possa essere utilizzato per poter gestire i nostri appuntamenti, come poterli creare e come integrarli nelle nostre pagine. Possiamo immaginare questa funzionalità in uso per migliaia di possibili utilizzi. Lasciamo correre la nostra fantasia 🙂




User Macro – Andiamo più in profondità

Approfondiamo l’argomento

In questo post andremo ad approfondire quanto già trattato nei seguenti post in materia di User Macro

Vediamo cosa possiamo fare

Nei precedenti post, abbiamo visto il classico esempio Hello World, croce e delizia di tutti gli sviluppatori. Questo per cercare di capire che cosa possiamo realizzare. Cerchiamo di entrare nel dettaglio.

Parametri

Possiamo gestire dei parametri nelle User Macro? La risposta è si :-).  Si tratta dei parametri, cui siamo oramai abituati, che normalmente vengono chiesti quando andiamo ad eseguire l’editing della macro stessa.

Possiamo definirli come:

## @param MYNAME:title=MY TITLE|type=MY TYPE|desc=MY DESCRIPTION|required=true|multiple=true|default=MY DEFAULT VALUE

ovvero come:

  • ## – Serve per identificare questa sezione di definizione di parametri e di caratteristiche della User Macro.
  • @param<nome> – Definisce il parametro. Utilizzando il prefisso @param, tutto ciò che si trova subito dopo sarà considerato come il nome del patametr
  • attributi – possiamo definire una serie di attributi, quali:
    • Titolo
    • Tipo del parametro, che può assumere un valore tra i seguenti:
      • boolean  (Booleano)
      • enum (per definire degli insiemi di possibili valori)
      • string (Stringa generica)
      • confluence-content (per consentire di poter referenziare dei contenuti di Confluence stesso, quali blog post o pagine)
      • username (per consentire di poter selezionare degli utenti)
      • spacekey (per consentire di poter selezionare degli space)
      • date (data)
      • int (numerico)
      • percentage  (trattato come una stringa. Sembra sia utilizzato per definire delle percentuali di utilizzo o per indicare tipo, ad esempio, quanti post blog visualizzare)

La User Macro può anche non presentare dei parametri. Basta, semplicemente, indicarlo come segue:

## @noparams

Oggetti disponibili

Vediamo quali oggetti abbiamo a disposizione per poter eseguire le nostre elaborazioni.

  • $body – il corpo della macro, come indicato nei post precedenti.
  • $param<nome> – il parametro definito.
  • $config – Si tratta dell’oggetto bootstrapManager di Confluence, che restituisce diverse proprietà di Confluence che possiamo utilizzare.
  • $space – oggetto Space, dove viene richiamata la Macro. Tramite questo oggetto possiamo richiamare diverse informazioni, quali pagine, blog post, etc.
  • $renderContext – Si tratta delle informazioni restituite dall’oggetto PageContext.
  • $content – Si tratta delle informazioni restituite dall’oggetto ContentEntity.

Maggiori ragguagli sono disponibili nella sezione developer della Atlassian.

Prossimi passi?

Nei prossimi passi, andremo ad approfondire un altro esempio

 

Reference




Field security plugin for JIRA

Estendiamo la conoscenza di JIRA

In questo post continuiamo la carrellata di addon per JIRA, cercando di estedere la nostra conoscenza e cercando di capire quali possibili utilizzi possiamo avere.

 

Di che cosa parleremo?

In questo post andremo a visionare un addon che consente di poter estendere le funzioni di JIRA, permettendo di fornire delle permission  di accesso ai campi Custom di JIRA ed ad alcuni. Si tratta del Field Security Plugin for JIRA.

 

Dalle immagini che l’addon propone sul Market, vediamo che consente, in maniera molto semplice e veloce, di poter assegnare delle permission ai campi custom di JIRA e a specifici campi quali:

  • Campi Custom
  • Campo Assegnee (Assegnatario della Issue)
  • Campi dedicati al Time Tracking

 

Altra possibilità offerta da questo addon, è quello di fornire delle permission per accedere a JIRA Agile

 

Questa potrebbe essere una caratteristica interessante. Infatti, consente ad un amministratore di poter configurare meglio gli accessi a JIRA. Infatti, per determinate situazioni, potrebbe essere necessario limitare l’accesso alla parte AGILE (perchè eccessiva o non necessaria) a determinati progetti. Gli utenti dedicati, potrebbero non averne bisogno e questo semplifica la vita all’amministratore.

Alcune indicazioni

L’addon è al momento disponibile solo per le installazioni Server e, per essere più precisi, l’acquisto non può essere eseguito attraverso la atlassian ma ci si deve rivolgere direttamente dal venditore.

Field01

Conclusioni

Abbiamo visionato un addon molto interessante. Nei prossimi post vedremo la prova su strada e cercheremo di capire quali altri addon possono essere una valida… alternativa 🙂




Workflow su JIRA – Creiamoci il nostro Workflow

Esempio di uso

In questo post proseguiamo la serie di articoli dedicati ai Workflow di JIRA. Vedremo come crearci il nostro Workflow, come personalizzarcelo e che operazioni possiamo fare.

 

Prerequisiti

Vediamo, in prima battuta, chi può creare Workflow.  Infatti non tutti gli utenti possono eseguire questa operazione. In aggiunta, prima di procedere con la generazione di un Workflow, conviene sempre verificare se esiste già un Workflow che risponde alle nostre esigenze.

Un Workflow può essere creato solo da utenti che dispongono delle JIRA Administration Global Permission, ovvero da utenti amministratori, i quali sono autorizzati ad eseguire tale operazione. La seguente immagine, disponibile nella documentazione, consente di aiutare a capire meglio le differenze che sussistono tra i vari gruppi di utenti.

Iniziamo

Quello che un utente autorizzato può fare è una tra le seguenti operazioni:

  • Creare un nuovo
  • Modificarne uno esistente
  • Importarne da marketplace/file o XML.

Facciamo una piccola precisazione. Ci sono delle piccole differenze tra versione Server e versione cloud di JIRA, relativamente alla questione dei Workflow. Ritengo molto importante ribadire le differenze, in modo da aiutare gli utenti nella scelta di una soluzione piuttosto dell’altra.

Mentre per la versione server possiamo eseguire l’importazione da file, come mostrato in figura:

WF-02-02

 

abbiamo a disposizione un menù Import, che presenta le seguenti opzioni:

  • Import Workflow
  • Import XML

WF-02-03

per la versione cloud, possiamo solo eseguire un import da Marketplace, come mostrato nella seguente immagine:


WF-02-01

 

Si tratta di scelte e, come conseguenza, meglio conoscerle :-), in questo modo evitiamo di trovarci con delle sorprese dell’ultimo minuto.

Creazione di un Workflow

Iniziamo con la creazione. Supponiamo di voler creare un semplice Workflow, che presenta solo alcuni stati. Selezioniamo Add Workflow, opzione comune alle due installazioni. Il risultato che otteniamo è il seguente:

WF-02-04

ovvero ci viene richiesto di fornire un Nome al Workflow e una semplice Descrizione , che ci consenta di poter identificare meglio il nostro. Una volta forniti questo elementi, si passa all’editor grafico, attraverso i quali si definiscono gli stati ed i relativi passaggi da  uno stato all’altro.

WF-02-05

 

L’editor grafico è molto semplice ed intuitivo. Selezionand Add status si aggiungono nuovi stati, mentre con Add transition si aggiungono nuove transizioni tra gli stati.

Per chi lo desidera, è possibile impostare anche un editor di testo per definire i Workflow.

WF-02-06

Sostengo che l’editor grafico risulti assai meglio per definire il tutto, e che permetta anche di capire meglio se i passaggi di stati sono quelli che ci aspettiamo.

In aggiunta, se siamo con l’editor grafico, abbiamo delle autocomposizioni che ci aiutano nella creazione, come mostrato in figura:

WF-02-07

Altra precisazione: Il Workflow viene creato in stato Inactive, come mostrato in figure precedenti. La sua attivazione avverrà solo dopo che sarà assegnato ad un Progetto.

A questo punto, con tali strumenti già integrati in JIRA, è possibile creare il Workflow che ci serve. Una volta generato, lo possiamo assegnare al progetto per attivarlo, come mostrato nel post inerente la gestione degli Asset Manager con JIRA.

Una volta creato il Workflow, occorre anche definire il Workflow Scheme, ovvero indicare quali Workflow utilizzare in base a Issue Type e progetto.

 

Conclusioni

Abbiamo visto in questo articolo come creare il nostro Workflow, chi lo può creare e che operazioni possono essere eseguite. Nei prossimi post vedremo come estendere il tutto ed integrarlo con altri addons.

 




Workflow su Confluence – Prova su strada: Alternative

Workflow – Alternative

In questo post mostreremo come poter realizzare un semplice Workflow su Confluence, senza far ricorso all’addon dedicato, e sfruttando delle alternative ben precise.

 

Perchè non usare l’addon?

L’addon potrebbe non essere una scelta percorribile oppure potrebbe non essere disponibile, in quanto disponiamo di una installazione Cloud e vogliamo sfruttarla. Le motivazioni potrebbero essere qualsiasi.

Vediamo come implementare una alternativa.

Di cosa abbiamo bisogno?

Mettiamoci nell’ottica di utilizzare solo le funzionalità standard al fine di riuscire a ottenere un Workflow. In articolare ci concentriamo sulle seguenti funzionalità:

Dettaglio

Abbiamo un insieme di funzioni che ci consentono di poter creare un Workflow primordiale, ma efficace. Adesso andiamo a metterle insieme per realizzare questo nostro Workflow…. artigianale 🙂

Come prima cosa, abbiamo bisogno che esistano due Space ben distinti:

  • Uno con le informazioni pubblicate e pubbliche, dove sono riportate le pagine da mettere a disposizione degli utenti (Space PUBBLICO)
  • Uno con le pagine da modificare, ed a disposizione degli utenti che si occupano di pubblicare queste pagine (SPACE PRIVATO).

Come prima cosa, dobbiamo definire un template di pagine. In questo template, la prima sezione sarà costituita da:

  • Metadati del documentoSi tratta di Page properties e forniscono informazioni di dettaglio del documento. Queste sono molto utili e devono rimanere nelle pagine presenti in entrambi gli space, in quanto forniscono le indicazioni agli utenti di quanto sono recenti le informazioni. WF-MAN-01
    Sarà anche inserita una informazione fondamentale: Lo stato della pagina; che indicherà se la pagina è stata Creata, Modificata, Aggiornata, Cancellata, Pubblicata etc.
  • Tasks – In questa sezione sono riportate tutte i task che sono assegnati al gruppo di lavoro, ovvero chi scrive e chi fa le revisioni al documento, chi si occupa del controllo, chi di segnalare, etc etc etc. WF-MAN-02
  • Versioni della Pagina – Consentono di capire chi ha modificato cosa e perché. Si tratta delle funzionalità standard di Confluence ed indica l’utente che ha creato la pagina, chi ha eseguito le modifiche e quando, chi l’autore delle ultime modificheWF-MAN-03

Procediamo

Quando si crea una pagina, utilizzando un template, si crea la pagina e nei metadati si inserisce in stato DRAFT. La si completa con i dati di chi crea la pagina e, fino a quando non si è completata la redazione, si lascia in stato DRAFT.

WF-MAN-04

Quando si vuole iniziare l’iter di pubblicazione, si modifica lo stato in RICHIESTA APPROVAZIONE e si inserisce un TASK, assegnandolo alla persona responsabile di tale compito.

WF-MAN-05

La persona responsabile, riceverà un messaggio, dal sistema di messaggistica di Confluence

WF-MAN-06

quindi procederà con la revisione e nel caso di ulteriori modifiche.

In prima battuta, andrà a modificare lo stato in modo da poter indicare che sta procedendo con il lavoro.

WF-MAN-08

inserirà le sue modifiche (Nella figura seguente, la modifica riguarda l’aggiunta della sola riga del 18.07.2015, indicante la scritta MODIFICA)

WF-MAN-07

Infine, creerà un ulteriore task con le modifiche da verificare alla persona che ha richiesto l’approvazione. Quindi marcherà il suo lavoro come eseguito.

WF-MAN-09

La persona, cui è stata richiesta l’approvazione, riceverà un messaggio dal sistema di notifiche di Confluence.

WF-MAN-10

Quando aprirà la notifica, verificherà che gli è stato assegnato un Task per approvare la modifica.

WF-MAN-11

A questo punto procederà con il controllo, verificherà la modifica e alla fine approverà o meno il lavoro fatto. Al termine, quando la modifica risulterà approvata, verrà eseguito lo stesso ITER per procedere alla pubblicazione. Sarà assegnato un Task alla persona che si occupa della pubblicazione della pagina e questa procederà alla sua pubblicazione. Eseguirà la copia delle stesse, creando la nuova versione della pagina, modificherà lo stato della pagina SORGENTE in PUBBLICATO e aggiornerà di conseguenza la pagina nello Space PUBBLICO, facendo si che:

  • I metadati siano congruenti e presentino tutte e informazioni richieste dagli utenti finali.
  • Eliminerà i task dalla pagina dello Space PUBBLICO. Non sono necessari
  • Riporterà il testo aggiornato. Non si occuperà della modifica dei commenti o di altro.
  • Riporterà tutti gli allegati nella pagina, creando le versioni storiche.

WF-MAN-12

Conclusione

Abbiamo visto un sistema alternativo, basato su funzionalità standard di Confluence, che consente di implementare un sistema molto semplice di Workflow. Ovviamente si tratta di un sistema che può essere implementato per realtà piccole/medie, non molto strutturate e con poche persone. Quando il numero delle persone e dei gruppi e degli space aumenta, allora conviene sicuramente volgersi a delle soluzioni molto più strutturate, non ultima, utilizzare l’addon già descritto nel precedente post.




Draw.io – prova su strada

Diagrammi, grafici e tanto altro ancora

In questo post andremo a testare l’addon Draw.io, presentato in questo post. Vedremo da vicino quali potenzialità offre.

 

 

Installiamo

Prima fase è sempre l’installazione. Dal COG menù selezioniamo la sezione degli addon e procediamo con l’installazione. Una volta accettata la EULA:

draw.io.01

possiamo procedere con il download dell’addon

draw.io.02

e l’installazione dello stesso 🙂

draw.io.03

quindi otteniamo la licenza trial

draw.io.04

Finalmente abbiamo il nostro addon installato :D.

draw.io.05

Entriamo in azione

Una volta installato, possiamo procedere con l’utilizzo dello stesso. Basta semplicemente selezionare il tasto Create e siamo già in grado di poter creare il nostro diagramma e grafico 🙂

draw.io.06

Selezionando Draw.io, attiviamo l’addon, che attraverso un wizard opportuno, ci consente di poter scegliere quale tipologia di diagramma o grafico vogliamo creare. In automatico ci propone anche un esempio che possiamo utilizzare come base per il nostro lavoro 🙂

draw.io.07

Selezionato il grafico, passiamo direttamente all’editor, che come possiamo vedere è molto semplice ed intuitivo.

draw.io.08

A questo punto, possiamo creare il nostro diagramma. Quando abbiamo terminato, lo salviamo nella pagina e questo è il risultato, prima di salvare la pagina:

draw.io.10

e la pagina salvata

draw.io.11

Risultati?

Notevoli. L’addon è sicuramente eccezionale, ma riserva una gradita sorpresa. Oltre alla possibilità di poter disegnare grafici e diagrammi, consente anche di poter creare dei Mockup di discreta qualità, come mostrato nel post, cui si faceva riferimento all’addon di Balsamiq. Come mostrato in figura:

draw.io.09

 

abbiamo la possibilità di poter disegnare in maniera agevole questi addon. La sorpresa è graditissima. 🙂

Conclusioni

Abbiamo a disposizione un addon molto interessante, di facile utilizzo e da un costo molto competitivo, rispetto agli altri che abbiamo a disposizione del marketplace. Il giudizio non può che essere positivo.