{"id":96385,"date":"2023-10-12T12:08:07","date_gmt":"2023-10-12T10:08:07","guid":{"rendered":"https:\/\/artigianodelsoftware.it\/blog\/?p=96385"},"modified":"2023-10-12T12:08:09","modified_gmt":"2023-10-12T10:08:09","slug":"database-exporter-come-ti-estraggo-i-dati-dal-cloud","status":"publish","type":"post","link":"https:\/\/artigianodelsoftware.it\/blog\/2023\/10\/12\/database-exporter-come-ti-estraggo-i-dati-dal-cloud\/","title":{"rendered":"Database exporter &#8211; Come ti estraggo i dati dal Cloud"},"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\/96385?print=print\" class=\"pdfprnt-button pdfprnt-button-print\" target=\"_blank\"><\/a><\/div>\n<p>In questo post andremo ad esaminare un addon che ci permette di poter estrarre i dati dal Cloud in modo da permetterci di poter eseguire delle interrogazioni mirate.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img decoding=\"async\" loading=\"lazy\" width=\"212\" height=\"237\" src=\"https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2023\/02\/image-46.png\" alt=\"\" class=\"wp-image-96530\" style=\"width:474px;height:auto\"\/><figcaption class=\"wp-element-caption\">Esplorazione alchemica in corso<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Una premessa importante<\/h2>\n\n\n\n<p>Chi lavora con il Cloud sa perfettamente che quando vogliamo eseguire delle interrogazioni sui dati, la risposta \u00e8 sempre una. Il seguente memo ce lo spiega<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large is-resized\"><img decoding=\"async\" loading=\"lazy\" width=\"893\" height=\"1024\" src=\"https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2023\/10\/Screenshot-2023-10-07-at-14.35.30-893x1024.png\" alt=\"\" class=\"wp-image-96772\" style=\"width:317px;height:auto\" srcset=\"https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2023\/10\/Screenshot-2023-10-07-at-14.35.30-893x1024.png 893w, https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2023\/10\/Screenshot-2023-10-07-at-14.35.30-262x300.png 262w, https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2023\/10\/Screenshot-2023-10-07-at-14.35.30-768x881.png 768w, https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2023\/10\/Screenshot-2023-10-07-at-14.35.30.png 954w\" sizes=\"(max-width: 893px) 100vw, 893px\" \/><figcaption class=\"wp-element-caption\">Vediamo di chiarire il punto<\/figcaption><\/figure>\n\n\n\n<p>Sul Cloud non abbiamo alcuna possibilit\u00e0: Ci \u00e8 precluso l&#8217;accesso al database interno. Di conseguenza non possiamo fare nulla per lanciare query&#8230; almeno fino ad ora.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Abbiamo una soluzione<\/h2>\n\n\n\n<p>Inventato da Bob Swift ma adesso sotto il controllo della Appfire, abbiamo un addon che ci aiuta in tal senso, fornendoci la possibilit\u00e0 di costruire un simil-database su cui poter eseguire le nostre interrogazioni.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"276\" src=\"https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2023\/10\/Screenshot-2023-10-07-at-14.37.52-1024x276.png\" alt=\"\" class=\"wp-image-96773\" srcset=\"https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2023\/10\/Screenshot-2023-10-07-at-14.37.52-1024x276.png 1024w, https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2023\/10\/Screenshot-2023-10-07-at-14.37.52-300x81.png 300w, https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2023\/10\/Screenshot-2023-10-07-at-14.37.52-768x207.png 768w, https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2023\/10\/Screenshot-2023-10-07-at-14.37.52-1536x413.png 1536w, https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2023\/10\/Screenshot-2023-10-07-at-14.37.52-2048x551.png 2048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">L&#8217;addon di cui parleremo oggi. <\/figcaption><\/figure>\n\n\n\n<p>Questo addon \u00e8 nato con l&#8217;obiettivo di ricostruire un database simile, rispetto a quello che avevamo a disposizione con la versione onPremise, e permettere agli utenti cloud di riuscire a ricostruire delle query ed interrogazioni.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"488\" src=\"https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2023\/10\/image-1024x488.png\" alt=\"\" class=\"wp-image-96775\" srcset=\"https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2023\/10\/image-1024x488.png 1024w, https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2023\/10\/image-300x143.png 300w, https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2023\/10\/image-768x366.png 768w, https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2023\/10\/image-1536x731.png 1536w, https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2023\/10\/image.png 1840w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Fonte Marketplace<\/figcaption><\/figure>\n\n\n\n<p>Come possiamo vedere dalla precedente immagine, riusciamo a ricostruire sia i dati della parte standard, compresi i campi custom. Dalla <a rel=\"noreferrer noopener\" href=\"https:\/\/appfire.atlassian.net\/wiki\/spaces\/ADEFJC\/pages\/65044633\/Getting+started\" data-type=\"link\" data-id=\"https:\/\/appfire.atlassian.net\/wiki\/spaces\/ADEFJC\/pages\/65044633\/Getting+started\" target=\"_blank\">documentazione<\/a> dell&#8217;addon abbiamo a disposizione anche uno schema dati che ci spiega come ricostruire le relazioni tra le varie tabelle:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"938\" src=\"https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2023\/10\/Screenshot-2023-10-08-at-08.00.20-1024x938.png\" alt=\"\" class=\"wp-image-96776\" srcset=\"https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2023\/10\/Screenshot-2023-10-08-at-08.00.20-1024x938.png 1024w, https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2023\/10\/Screenshot-2023-10-08-at-08.00.20-300x275.png 300w, https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2023\/10\/Screenshot-2023-10-08-at-08.00.20-768x704.png 768w, https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2023\/10\/Screenshot-2023-10-08-at-08.00.20.png 1386w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Fonte: Documentazione dell&#8217;addon<\/figcaption><\/figure>\n\n\n\n<p>Possiamo, attraverso questo addon, ricostruire un simil-database (non \u00e8 proprio il database effettivo: Teniamolo sempre a mente). <\/p>\n\n\n\n<p>L&#8217;addon al momento permette di poter estrarre i dati direttamente su di un database Postgresql. Questo ci limita un p\u00f2 i movimenti, ma non pi\u00f9 di tanto. Se in azienda abbiamo uno standard che ci impone l&#8217;utilizzo di altre tipologie di Database (ad esempio: In azienda si usano database MS SQL Server). Tuttavia, usando dei server Linux, il problema viene risolto.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Punti di attenzione<\/h2>\n\n\n\n<p>Dobbiamo per\u00f2 tenere sempre a mente alcuni punti di attenzione. Ricordiamoci sempre che il nostro Cloud Atlassian \u00e8 prevalentemente una macchina virtuale localizzata su Internet e di conseguenza abbiamo:<\/p>\n\n\n\n<ul>\n<li>Il nostro cloud deve poter accedere al database e di conseguenza questo deve essere raggiungibile da internet<\/li>\n\n\n\n<li>Essendo raggiungibile da internet, occorre che questo database sia gestito in maniera opportuna.<\/li>\n\n\n\n<li>Non possiamo esporre direttamente i nostri database verso internet<\/li>\n\n\n\n<li>Il database da usare deve essere un database che viene immediatamente blindato o svuotato non appena viene compilato<\/li>\n<\/ul>\n\n\n\n<p>Come si pu\u00f2 vedere non si tratta di semplici raccomandazioni, ma di punti di attenzione molto importanti. Se non li rispettiamo abbiamo dei problemi abbastanza seri.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img decoding=\"async\" loading=\"lazy\" width=\"263\" height=\"191\" src=\"https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2023\/04\/image-2.png\" alt=\"\" class=\"wp-image-96596\" style=\"width:787px;height:auto\"\/><figcaption class=\"wp-element-caption\">Se perdiamo i dati questa sar\u00e0 la nostra espressione.<\/figcaption><\/figure>\n\n\n\n<p>Di conseguenza abbiamo molto da considerare.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">La mia esperienza<\/h2>\n\n\n\n<p>Ho avuto modo di collaudare questo addon direttamente presso un mio cliente e posso dire che l&#8217;addon lavora in maniera egregia. Nel senso che i dati estratti sono effettivamente il clone dei dati. Ma vorrei fare alcune ulteriori considerazioni.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Abbiamo principalmente i dati dello standard<\/h3>\n\n\n\n<p>Non ci facciamo illusioni. Non riusciamo a disporre di tutti i dati come nel caso delle nostre installazioni onPremise. Infatti quando possibile, si accedeva anche ai dati degli addon semplicemente andando a leggere le tabelle con prefisso AO%, come riportato in questa <a href=\"https:\/\/confluence.atlassian.com\/jirakb\/list-of-jira-server-ao-table-names-and-vendors-973498988.html\" target=\"_blank\" rel=\"noreferrer noopener\">documentazione ufficiale Atlassian<\/a>. <\/p>\n\n\n\n<p>In questo caso l&#8217;addon ricostruisce, con buona approssimazione, le informazioni standard e attraverso opportune query, riusciamo a leggere le informazioni che ci servono.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Solo alcuni addon sono disponibili<\/h3>\n\n\n\n<p>L&#8217;addon riesce a leggere i dati di alcuni addon, come TEMPO TIMESHEET, ma una cosa che ho notato \u00e8 che le informazioni che sono scaricate sono sotto forma di un JSON che deve essere &#8216;lavorate&#8217; per poter estrarre i dati che servono.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Possibile eseguire backup totali ed incrementali<\/h3>\n\n\n\n<p>E&#8217; possibile eseguire entrambe le modalit\u00e0. Nel mio caso, potrebbe essere utile eseguire un primo backup generale e poi tutti i backup incrementali. Questo aiuterebbe notevolmente<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusioni<\/h2>\n\n\n\n<p>Abbiamo un addon interessante ma che deve essere usato con tutti i crismi del caso. Possiamo estrarre i dati che ci interessano e fare le statistiche personalizzate del caso, anche se in ultima istanza suggerisco di appoggiarsi ad appositi tools che permettono di poter portare le informazioni di Jira su PowerBI o QLIK e consentono di gestire le statistiche molto meglio che con un semplice database da rimettere in piedi. <\/p>\n\n\n\n<p>Come sempre riporto le mie indicazioni perch\u00e9, questo sicuramente lo avrete compreso leggendo i miei post, che \u00e8 sempre meglio avere pi\u00f9 possibilit\u00e0 che solo una possibilit\u00e0. La libert\u00e0 di scelta \u00e8 una arma molto potente che intendo sempre sfruttare e mettere a disposizione, anche quando eseguo le mie consulenze.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Reference<\/h2>\n\n\n\n<p>Maggiori informazioni sono reperibili alla <a href=\"https:\/\/marketplace.atlassian.com\/apps\/1221074\/database-exporter-for-jira-cloud?hosting=cloud&amp;tab=overview\" data-type=\"link\" data-id=\"https:\/\/marketplace.atlassian.com\/apps\/1221074\/database-exporter-for-jira-cloud?hosting=cloud&amp;tab=overview\" target=\"_blank\" rel=\"noreferrer noopener\">pagina del Marketplace<\/a>.<\/p>\n<div class=\"clearfix\"><span class='ldc-ul_cont' onclick=\"alter_ul_post_values(this,'96385','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,'96385','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>In questo post andremo ad esaminare un addon che ci permette di poter estrarre i dati dal Cloud in modo da permetterci di poter eseguire delle interrogazioni mirate. Una premessa importante Chi lavora con il Cloud sa perfettamente che quando<\/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,4,14,22],"tags":[30,34,35,52,70,89],"_links":{"self":[{"href":"https:\/\/artigianodelsoftware.it\/blog\/wp-json\/wp\/v2\/posts\/96385"}],"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=96385"}],"version-history":[{"count":4,"href":"https:\/\/artigianodelsoftware.it\/blog\/wp-json\/wp\/v2\/posts\/96385\/revisions"}],"predecessor-version":[{"id":96778,"href":"https:\/\/artigianodelsoftware.it\/blog\/wp-json\/wp\/v2\/posts\/96385\/revisions\/96778"}],"wp:attachment":[{"href":"https:\/\/artigianodelsoftware.it\/blog\/wp-json\/wp\/v2\/media?parent=96385"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/artigianodelsoftware.it\/blog\/wp-json\/wp\/v2\/categories?post=96385"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/artigianodelsoftware.it\/blog\/wp-json\/wp\/v2\/tags?post=96385"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}