{"id":163,"date":"2014-06-14T20:47:03","date_gmt":"2014-06-14T20:47:03","guid":{"rendered":"http:\/\/artigianodelsoftware.wordpress.com\/?p=163"},"modified":"2014-06-14T20:47:03","modified_gmt":"2014-06-14T20:47:03","slug":"sql-connector-for-atlassian-confluence-ondemand","status":"publish","type":"post","link":"https:\/\/artigianodelsoftware.it\/blog\/2014\/06\/14\/sql-connector-for-atlassian-confluence-ondemand\/","title":{"rendered":"SQL Connector for Atlassian Confluence onDemand"},"content":{"rendered":"<div class=\"pdfprnt-buttons pdfprnt-buttons-post pdfprnt-top-right\"><a href=\"javascript: imageToPdf()\" class=\"pdfprnt-button pdfprnt-button-pdf\" target=\"_self\"><img src=\"https:\/\/artigianodelsoftware.it\/blog\/wp-content\/plugins\/pdf-print\/images\/pdf.png\" alt=\"image_pdf\" title=\"Visualizza PDF\" \/><\/a><a href=\"https:\/\/artigianodelsoftware.it\/blog\/wp-json\/wp\/v2\/posts\/163?print=print\" class=\"pdfprnt-button pdfprnt-button-print\" target=\"_blank\"><\/a><\/div><blockquote>\n<h1>Accesso a DB Esterni&#8230;.<\/h1>\n<\/blockquote>\n<h1><\/h1>\n<p>In questo post esamineremo un Addon Confluence, al momento ancora in Beta, che consente di poter accedere a database attraverso Atlassian Confluence onDemand. Si tratta di <a href=\"https:\/\/marketplace.atlassian.com\/plugins\/com.playsql.sqlsaas\/versions#b1000006\" target=\"_blank\">SQL Connector<\/a> (Al momento in cui scrivo, \u00e8 ancora in Beta).<\/p>\n<p>Attraverso questo addon \u00e8 possibile eseguire interrogazioni verso database esterni, a patto che:<\/p>\n<ul>\n<li>Il database sia accedibile da remoto;<\/li>\n<li>Tipo di RDBMS utilizzabile:\n<ul>\n<li>Oracle<\/li>\n<li>MS Sql Server<\/li>\n<li>MySQL<\/li>\n<li>Postgresql<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>Per questo post, ho fatto uso di un DB <a href=\"http:\/\/www.mysql.com\/\" target=\"_blank\">MySQL<\/a>, messo a disposizione da un hosting gratuito: <a href=\"http:\/\/www.db4free.net\/\" target=\"_blank\">db4free<\/a>. Questo hosting consente, attraverso un semplice form di registrazione, di disporre di un piccolo DB <a href=\"http:\/\/www.mysql.com\/\" target=\"_blank\">MySQL\u00a0<\/a>, ottimo per il test :-).<\/p>\n<p>Una volta definito l&#8217;accesso al DB MySQL (vi assicuro molto semplice, che non necessita di alcuna spiegazione supplementare), \u00e8 possibile definire l&#8217;accesso per Confluence, seguendo i seguenti passi:<\/p>\n<h2><strong>Configurazione<\/strong><\/h2>\n<p>Una volta installato l&#8217;addon, selezionare il Cog men\u00f9\u00a0<strong>Addons<\/strong>, e ricercare l&#8217;SQL Addon. Quindi selezionare il tasto\u00a0<strong>Configure<\/strong>, come mostrato in figura.<\/p>\n<p><a href=\"https:\/\/artigianodelsoftware.files.wordpress.com\/2014\/06\/configure-sql1.png\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-large wp-image-171\" src=\"http:\/\/artigianodelsoftware.files.wordpress.com\/2014\/06\/configure-sql1.png?w=700\" alt=\"Configure-sql\" width=\"700\" height=\"275\" srcset=\"https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2014\/06\/configure-sql1.png 929w, https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2014\/06\/configure-sql1-300x118.png 300w, https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2014\/06\/configure-sql1-768x302.png 768w\" sizes=\"(max-width: 700px) 100vw, 700px\" \/><\/a><\/p>\n<p>Si acceder\u00e0 alla pagina di configurazione dell&#8217;addon. Questo richiede di configurare un\u00a0<strong>Context<\/strong>, dove poi impostare la stringa di connessione:<\/p>\n<p><a href=\"https:\/\/artigianodelsoftware.files.wordpress.com\/2014\/06\/definizionecontesto-012.png\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-large wp-image-183\" src=\"http:\/\/artigianodelsoftware.files.wordpress.com\/2014\/06\/definizionecontesto-012.png?w=700\" alt=\"DefinizioneContesto-01\" width=\"700\" height=\"345\" srcset=\"https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2014\/06\/definizionecontesto-012.png 979w, https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2014\/06\/definizionecontesto-012-300x148.png 300w, https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2014\/06\/definizionecontesto-012-768x379.png 768w\" sizes=\"(max-width: 700px) 100vw, 700px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>La definizione di\u00a0<strong>Context<\/strong> richiede di fornire un nome &#8216;<em>umano&#8217;<\/em>, che sar\u00e0 poi utilizzato su Confluence, e di una\u00a0<strong>KEY<\/strong>, simile alla definizione di KEY utilizzata da Confluence, quando si definisce uno Space. Una volta salvato, si procede alla definizione della stringa di connessione:<\/p>\n<p><a href=\"https:\/\/artigianodelsoftware.files.wordpress.com\/2014\/06\/definizionecontesto-022.png\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-large wp-image-182\" src=\"http:\/\/artigianodelsoftware.files.wordpress.com\/2014\/06\/definizionecontesto-022.png?w=700\" alt=\"DefinizioneContesto-02\" width=\"700\" height=\"418\" srcset=\"https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2014\/06\/definizionecontesto-022.png 933w, https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2014\/06\/definizionecontesto-022-300x179.png 300w, https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2014\/06\/definizionecontesto-022-768x459.png 768w\" sizes=\"(max-width: 700px) 100vw, 700px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>Il formato della stringa \u00e8 quello che si utilizza con il jdbc:\u00a0<em><strong>jdbc:driver:\/\/machine:port\/database?&lt;parameter&gt;<\/strong><\/em>. Fatto ci\u00f2, si specificano\u00a0<strong>Utente<\/strong> e\u00a0<strong>Password<\/strong> per accedere al database specificato.<\/p>\n<p>Al salvataggio, il sistema esegue un test di connessione, verificando tutti i parametri inseriti e, se tutto ok, salva il\u00a0<strong>Context<\/strong>.<\/p>\n<p>Adesso si possono definire le query, che saranno usate da Confluence, per accedere al DB, disegnare grafici, mostrare dati, etc.<\/p>\n<p><a href=\"https:\/\/artigianodelsoftware.files.wordpress.com\/2014\/06\/queries1.png\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-large wp-image-184\" src=\"http:\/\/artigianodelsoftware.files.wordpress.com\/2014\/06\/queries1.png?w=700\" alt=\"queries\" width=\"700\" height=\"221\" srcset=\"https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2014\/06\/queries1.png 1347w, https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2014\/06\/queries1-300x95.png 300w, https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2014\/06\/queries1-768x243.png 768w, https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2014\/06\/queries1-1024x324.png 1024w, https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2014\/06\/queries1-1200x380.png 1200w\" sizes=\"(max-width: 700px) 100vw, 700px\" \/><\/a><\/p>\n<p>Memorizzata la query, si dispone di tutte le informazioni per poter utilizzare i dati del dabatase esterno.<\/p>\n<h2>Utilizzo<\/h2>\n<p>Ho predisposto una tabella di esempio (example, giusto per usare un p\u00f2 di fantasia :-D), e ho creato una pagina di prova sul mio Confluence onDemand. Il risultato che si ottiene, utilizzando la macro, che consente di poter impostare i seguenti parametri:<\/p>\n<p><a href=\"https:\/\/artigianodelsoftware.files.wordpress.com\/2014\/06\/macro.png\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-full wp-image-176\" src=\"http:\/\/artigianodelsoftware.files.wordpress.com\/2014\/06\/macro.png\" alt=\"Macro\" width=\"696\" height=\"333\" srcset=\"https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2014\/06\/macro.png 696w, https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2014\/06\/macro-300x144.png 300w\" sizes=\"(max-width: 696px) 100vw, 696px\" \/><\/a><\/p>\n<p>ovvero impostare il contesto appena definito e la query che interessa. Il risultato \u00e8 il seguente:<\/p>\n<p><a href=\"https:\/\/artigianodelsoftware.files.wordpress.com\/2014\/06\/risultato.png\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter wp-image-177 size-full\" style=\"border:1px solid #000000;margin-top:1px;margin-bottom:1px;\" src=\"http:\/\/artigianodelsoftware.files.wordpress.com\/2014\/06\/risultato.png\" alt=\"risultato\" width=\"337\" height=\"458\" srcset=\"https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2014\/06\/risultato.png 337w, https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2014\/06\/risultato-221x300.png 221w\" sizes=\"(max-width: 337px) 100vw, 337px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<blockquote>\n<h1>Conclusioni<\/h1>\n<\/blockquote>\n<p>Finalmente \u00e8 disponibile un sistema per poter eseguire query da poter inserire in\u00a0dashboard, anche per la versione onDemand, anche se non dispone di tutte le funzionalit\u00e0 dell&#8217;addon\u00a0<a href=\"https:\/\/marketplace.atlassian.com\/plugins\/org.swift.confluence.sql\" target=\"_blank\">SQLPlugin<\/a>, messo a disposizione per la versione Download di Confluence.<\/p>\n<p>Al momento \u00e8 ancora in beta, ma sono sicuro che a breve disporr\u00e0 di tutte le funzionalit\u00e0 necessarie a creare dei dashboard interattivi. Non perdetevi i prossimi post.<\/p>\n<div class=\"clearfix\"><span class='ldc-ul_cont' onclick=\"alter_ul_post_values(this,'163','like')\" >Likes<img src=\"https:\/\/artigianodelsoftware.it\/blog\/wp-content\/plugins\/like-dislike-counter-for-posts-pages-and-comments\/images\/up.png\" \/>(<span>0<\/span>)<\/span><span class='ldc-ul_cont' onclick=\"alter_ul_post_values(this,'163','dislike')\" >Dislikes<img src=\"https:\/\/artigianodelsoftware.it\/blog\/wp-content\/plugins\/like-dislike-counter-for-posts-pages-and-comments\/images\/down.png\" \/>(<span>0<\/span>)<\/span><\/div>","protected":false},"excerpt":{"rendered":"<p>Accesso a DB Esterni&#8230;. In questo post esamineremo un Addon Confluence, al momento ancora in Beta, che consente di poter accedere a database attraverso Atlassian Confluence onDemand. Si tratta di SQL Connector (Al momento in cui scrivo, \u00e8 ancora in<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_editorskit_title_hidden":false,"_editorskit_reading_time":0,"_editorskit_is_block_options_detached":false,"_editorskit_block_options_position":"{}","footnotes":""},"categories":[3,7,22],"tags":[],"_links":{"self":[{"href":"https:\/\/artigianodelsoftware.it\/blog\/wp-json\/wp\/v2\/posts\/163"}],"collection":[{"href":"https:\/\/artigianodelsoftware.it\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/artigianodelsoftware.it\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/artigianodelsoftware.it\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/artigianodelsoftware.it\/blog\/wp-json\/wp\/v2\/comments?post=163"}],"version-history":[{"count":0,"href":"https:\/\/artigianodelsoftware.it\/blog\/wp-json\/wp\/v2\/posts\/163\/revisions"}],"wp:attachment":[{"href":"https:\/\/artigianodelsoftware.it\/blog\/wp-json\/wp\/v2\/media?parent=163"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/artigianodelsoftware.it\/blog\/wp-json\/wp\/v2\/categories?post=163"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/artigianodelsoftware.it\/blog\/wp-json\/wp\/v2\/tags?post=163"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}