# Documentazione

# Intro

<span style="font-size:20.040000915527344pt;font-family:Calibri, sans-serif;color:#000000;background-color:transparent;font-weight:bold;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">Progetto DRAG</span>

<span style="font-size:20.040000915527344pt;font-family:Calibri, sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">Introduzione </span>

<span style="font-size:12pt;font-family:Calibri, sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">DRAG (Data Manager) è un sistema/applicazione che incrocia le funzionalità di uno spreadsheet con quelle di un file explorer. </span>

<span style="font-size:12pt;font-family:Calibri, sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">Quindi l'utente può editare le celle inserendo informazioni (testo, numeri, formule) come in un normale spreadsheet e i</span><span style="font-size:12pt;font-family:Calibri, sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">n più, le celle dovrebbero poter contenere/rappresentare/puntare a oggetti/sorgenti di informazione di tipo diverso, come ad esempio dei file (pdf, xml, etc.).</span>

<span style="font-size:15.960000038146973pt;font-family:Calibri, sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">Requisiti </span>

<span style="font-size:12pt;font-family:Calibri, sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">Di seguito una serie di </span><span style="font-size:12pt;font-family:Calibri, sans-serif;color:#000000;background-color:transparent;font-weight:bold;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">requisiti</span><span style="font-size:12pt;font-family:Calibri, sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">:</span>

<div id="bkmrk-requisito%C2%A0-categoria"><table style="border:none;border-collapse:collapse;"><colgroup><col style="width:496px;"></col><col style="width:128px;"></col></colgroup><tbody><tr style="height:14.6409912109375pt;"><td style="vertical-align:top;padding:5pt 5pt 5pt 5pt;overflow:hidden;border:solid #000000 1pt;"><span style="font-size:8.039999961853027pt;font-family:Arial;color:#000000;background-color:transparent;font-weight:bold;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">Requisito </span>

</td><td style="vertical-align:top;padding:5pt 5pt 5pt 5pt;overflow:hidden;border:solid #000000 1pt;"><span style="font-size:8.039999961853027pt;font-family:Arial;color:#000000;background-color:transparent;font-weight:bold;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">Categoria</span>

</td></tr><tr style="height:15.72003173828125pt;"><td style="vertical-align:top;padding:5pt 5pt 5pt 5pt;overflow:hidden;border:solid #000000 1pt;"><span style="font-size:8.039999961853027pt;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">L'utente può creare un nuovo "foglio" a partire da una directory virtuale </span>

</td><td style="vertical-align:top;padding:5pt 5pt 5pt 5pt;overflow:hidden;border:solid #000000 1pt;"><span style="font-size:8.039999961853027pt;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">Costruttore</span>

</td></tr><tr style="height:14.63897705078125pt;"><td style="vertical-align:top;padding:5pt 5pt 5pt 5pt;overflow:hidden;border:solid #000000 1pt;"><span style="font-size:8.039999961853027pt;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">L'utente può aggiungere al foglio un file contenuto nel documentale via drag&amp;drop </span>

</td><td style="vertical-align:top;padding:5pt 5pt 5pt 5pt;overflow:hidden;border:solid #000000 1pt;"><span style="font-size:8.039999961853027pt;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">Explorer</span>

</td></tr><tr style="height:14.64105224609375pt;"><td style="vertical-align:top;padding:5pt 5pt 5pt 5pt;overflow:hidden;border:solid #000000 1pt;"><span style="font-size:8.039999961853027pt;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">L'utente può muovere i file all'interno del foglio </span>

</td><td style="vertical-align:top;padding:5pt 5pt 5pt 5pt;overflow:hidden;border:solid #000000 1pt;"><span style="font-size:8.039999961853027pt;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">Explorer</span>

</td></tr><tr style="height:14.63995361328125pt;"><td style="vertical-align:top;padding:5pt 5pt 5pt 5pt;overflow:hidden;border:solid #000000 1pt;"><span style="font-size:8.039999961853027pt;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">L'utente può rinominare i file all'interno del foglio </span>

</td><td style="vertical-align:top;padding:5pt 5pt 5pt 5pt;overflow:hidden;border:solid #000000 1pt;"><span style="font-size:8.039999961853027pt;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">Explorer</span>

</td></tr><tr style="height:14.63897705078125pt;"><td style="vertical-align:top;padding:5pt 5pt 5pt 5pt;overflow:hidden;border:solid #000000 1pt;"><span style="font-size:8.039999961853027pt;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">L'utente può aprire il file all'interno del foglio </span>

</td><td style="vertical-align:top;padding:5pt 5pt 5pt 5pt;overflow:hidden;border:solid #000000 1pt;"><span style="font-size:8.039999961853027pt;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">Explorer</span>

</td></tr><tr style="height:14.64105224609375pt;"><td style="vertical-align:top;padding:5pt 5pt 5pt 5pt;overflow:hidden;border:solid #000000 1pt;"><span style="font-size:8.039999961853027pt;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">L'utente può inserire una formula </span>

</td><td style="vertical-align:top;padding:5pt 5pt 5pt 5pt;overflow:hidden;border:solid #000000 1pt;"><span style="font-size:8.039999961853027pt;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">Spreadsheet</span>

</td></tr><tr style="height:14.6400146484375pt;"><td style="vertical-align:top;padding:5pt 5pt 5pt 5pt;overflow:hidden;border:solid #000000 1pt;"><span style="font-size:8.039999961853027pt;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">Una formula può contenere un’espressione che si riferisce ad un'informazione relativa ad un file </span>

</td><td style="vertical-align:top;padding:5pt 5pt 5pt 5pt;overflow:hidden;border:solid #000000 1pt;"><span style="font-size:8.039999961853027pt;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">Exploresheet</span>

</td></tr><tr style="height:14.638916015625pt;"><td style="vertical-align:top;padding:5pt 5pt 5pt 5pt;overflow:hidden;border:solid #000000 1pt;"><span style="font-size:8.039999961853027pt;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">L'utente può aprire il tag-editor a partire da un file .pdf </span>

</td><td style="vertical-align:top;padding:5pt 5pt 5pt 5pt;overflow:hidden;border:solid #000000 1pt;"><span style="font-size:8.039999961853027pt;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">Tagger</span>

</td></tr><tr style="height:14.64105224609375pt;"><td style="vertical-align:top;padding:5pt 5pt 5pt 5pt;overflow:hidden;border:solid #000000 1pt;"><span style="font-size:8.039999961853027pt;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">L'utente può aggiungere un tag </span>

</td><td style="vertical-align:top;padding:5pt 5pt 5pt 5pt;overflow:hidden;border:solid #000000 1pt;"><span style="font-size:8.039999961853027pt;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">Tagger</span>

</td></tr><tr style="height:14.639984130859375pt;"><td style="vertical-align:top;padding:5pt 5pt 5pt 5pt;overflow:hidden;border:solid #000000 1pt;"><span style="font-size:8.039999961853027pt;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">L'utente può cambiare la modalità di rappresentazione del file all'interno del foglio </span>

</td><td style="vertical-align:top;padding:5pt 5pt 5pt 5pt;overflow:hidden;border:solid #000000 1pt;"><span style="font-size:8.039999961853027pt;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">Explorer</span>

</td></tr><tr style="height:14.760009765625pt;"><td style="vertical-align:top;padding:5pt 5pt 5pt 5pt;overflow:hidden;border:solid #000000 1pt;"><span style="font-size:8.039999961853027pt;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">L'utente può condividere un "foglio" con un altro/i utente/i </span>

</td><td style="vertical-align:top;padding:5pt 5pt 5pt 5pt;overflow:hidden;border:solid #000000 1pt;"><span style="font-size:8.039999961853027pt;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">Costruttore</span>

</td></tr><tr style="height:14.639007568359375pt;"><td style="vertical-align:top;padding:5pt 5pt 5pt 5pt;overflow:hidden;border:solid #000000 1pt;"><span style="font-size:8.039999961853027pt;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">L'utente può creare un nuovo "foglio" vuoto </span>

</td><td style="vertical-align:top;padding:5pt 5pt 5pt 5pt;overflow:hidden;border:solid #000000 1pt;"><span style="font-size:8.039999961853027pt;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">Costruttore</span>

</td></tr><tr style="height:14.640960693359375pt;"><td style="vertical-align:top;padding:5pt 5pt 5pt 5pt;overflow:hidden;border:solid #000000 1pt;"><span style="font-size:8.039999961853027pt;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">L'utente può creare un nuovo "foglio" a partire da un template </span>

</td><td style="vertical-align:top;padding:5pt 5pt 5pt 5pt;overflow:hidden;border:solid #000000 1pt;"><span style="font-size:8.039999961853027pt;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">Costruttore</span>

</td></tr><tr style="height:18.83905029296875pt;"><td style="vertical-align:top;padding:5pt 5pt 5pt 5pt;overflow:hidden;border:solid #000000 1pt;"><span style="font-size:8.039999961853027pt;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">L'utente può aggiungere al foglio un file contenuto nel documentale da menu contestuale dell'applicazione DRAG</span>

</td><td style="vertical-align:top;padding:5pt 5pt 5pt 5pt;overflow:hidden;border:solid #000000 1pt;"><span style="font-size:8.039999961853027pt;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">Explorer</span>

</td></tr><tr style="height:18.960968017578125pt;"><td style="vertical-align:top;padding:5pt 5pt 5pt 5pt;overflow:hidden;border:solid #000000 1pt;"><span style="font-size:8.039999961853027pt;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">L'utente può aggiungere al foglio un file contenuto nel documentale da menu contestuale al documentale</span>

</td><td style="vertical-align:top;padding:5pt 5pt 5pt 5pt;overflow:hidden;border:solid #000000 1pt;"><span style="font-size:8.039999961853027pt;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">Explorer</span>

</td></tr><tr style="height:14.639984130859375pt;"><td style="vertical-align:top;padding:5pt 5pt 5pt 5pt;overflow:hidden;border:solid #000000 1pt;"><span style="font-size:8.039999961853027pt;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">L'utente può aggiungere al foglio un URL </span>

</td><td style="vertical-align:top;padding:5pt 5pt 5pt 5pt;overflow:hidden;border:solid #000000 1pt;"><span style="font-size:8.039999961853027pt;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">Explorer</span>

</td></tr><tr style="height:14.6390380859375pt;"><td style="vertical-align:top;padding:5pt 5pt 5pt 5pt;overflow:hidden;border:solid #000000 1pt;"><span style="font-size:8.039999961853027pt;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">L'utente può avere la preview del file all'interno del foglio </span>

</td><td style="vertical-align:top;padding:5pt 5pt 5pt 5pt;overflow:hidden;border:solid #000000 1pt;"><span style="font-size:8.039999961853027pt;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">Explorer</span>

</td></tr></tbody></table>

</div><span style="font-size:15.960000038146973pt;font-family:Calibri, sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">Schema architetturale </span>

<span style="font-size:12pt;font-family:Calibri, sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">Di seguito lo schema architetturale della soluzione:</span>

[![1-highlevelarchitecture.png](https://digital-docs.ts-paas.com/uploads/images/gallery/2021-09/scaled-1680-/rAb1JoY41zSGfFtT-1-highlevelarchitecture.png)](https://digital-docs.ts-paas.com/uploads/images/gallery/2021-09/rAb1JoY41zSGfFtT-1-highlevelarchitecture.png)

<span style="font-size:20.040000915527344pt;font-family:Calibri, sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">Team di progetto </span>

<span style="font-size:11.039999961853027pt;font-family:Calibri, sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">● Product Owner: Francesco Bruschi &lt;francesco.bruschi@polimi.it&gt; </span>

<span style="font-size:11.039999961853027pt;font-family:Calibri, sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">●</span><span style="font-size:11.039999961853027pt;font-family:Calibri, sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;"> Project Manager: Evald Ibrahimi &lt;eibrahimi@smartworknet.eu&gt; </span>

<span style="font-size:11.039999961853027pt;font-family:Calibri, sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">● UI/UX: Andi Bardulla &lt;bardullaandi@gmail.com&gt; </span>

<span style="font-size:11.039999961853027pt;font-family:Calibri, sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">● Senior Consultant: Klajd Diko &lt;klajd.diko@gmail.com&gt; </span>

<span style="font-size:11.039999961853027pt;font-family:Calibri, sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">● Consultant: Andi Prifti &lt;aprifti@smartworknet.eu&gt;; </span>

<span style="font-size:11.039999961853027pt;font-family:Calibri, sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">● Consultant: Gea Toska &lt;gtoska@smartworknet.eu&gt; </span>

# High Level Architecture Overview

[![1-highlevelarchitecture.png](https://digital-docs.ts-paas.com/uploads/images/gallery/2021-09/scaled-1680-/rAb1JoY41zSGfFtT-1-highlevelarchitecture.png)](https://digital-docs.ts-paas.com/uploads/images/gallery/2021-09/rAb1JoY41zSGfFtT-1-highlevelarchitecture.png)

# API Modules

[![2-apimodules.png](https://digital-docs.ts-paas.com/uploads/images/gallery/2021-09/scaled-1680-/qohMopJ3pzU6gFgt-2-apimodules.png)](https://digital-docs.ts-paas.com/uploads/images/gallery/2021-09/qohMopJ3pzU6gFgt-2-apimodules.png)

# Storage Provider

[![3-storageprovider.png](https://digital-docs.ts-paas.com/uploads/images/gallery/2021-09/scaled-1680-/KHJeYYlZ07WSzQhj-3-storageprovider.png)](https://digital-docs.ts-paas.com/uploads/images/gallery/2021-09/KHJeYYlZ07WSzQhj-3-storageprovider.png)

# Plugin Architecture

[![4-pluginarchitecture.png](https://digital-docs.ts-paas.com/uploads/images/gallery/2021-09/scaled-1680-/P8xCSBT26A4Cwnw0-4-pluginarchitecture.png)](https://digital-docs.ts-paas.com/uploads/images/gallery/2021-09/P8xCSBT26A4Cwnw0-4-pluginarchitecture.png)

# drag-mongodb-schema-snapshot

[![5-drag-mongo-db-schema-snapshot-2021-08-16.png](https://digital-docs.ts-paas.com/uploads/images/gallery/2021-09/scaled-1680-/hxZY2F6nQn1FKZ5k-5-drag-mongo-db-schema-snapshot-2021-08-16.png)](https://digital-docs.ts-paas.com/uploads/images/gallery/2021-09/hxZY2F6nQn1FKZ5k-5-drag-mongo-db-schema-snapshot-2021-08-16.png)