Closed jenkin closed 4 years ago
Questa PR definisce uno schema dati per l'entità resource
e aggiorna quello del buyer
in modo da indicizzare le risorse direttamente in elasticsearch. L'applicazione poi legge le informazioni direttamente dal db e non dal file json statico.
Rimane il problema dei dati mancanti (es. le dimensioni dei file) e una definizione più robusta della resource
(per esempio, json e xlsx sono due attributi, mentre sarebbe meglio ci fosse un array di file con formato, url e dimensione come attributi).
Esempio:
{
"appaltipop:releases/0/buyer/resource/id": "IT-CF-00355870221",
"appaltipop:releases/0/buyer/resource/source": "http://www.sicopat.provincia.tn.it/olpdataset/2019/00355870221/00355870221_2019_indicedataset.xml",
"appaltipop:releases/0/buyer/resource/updated": "2020-07-09T14:48:00.000Z",
"appaltipop:releases/0/buyer/resource/files": [
{ "url": "data/IT-CF-00355870221/ocds/input.json", "format": "json", "size": 778976732 },
{ "url": "data/IT-CF-00355870221/ocds/input.xlsx", "format": "xlsx", "size": 8928698 }
]
}
Ci ho pensato ancora un po', ecco un'altra proposta di schema...
{
"ocds:releases/0/buyer/id": "IT-CF-00355870221",
"appaltipop:releases/0/buyer/dataSource/url": "http://www.sicopat.provincia.tn.it/olpdataset/2019/00355870221/00355870221_2019_indicedataset.xml",
"appaltipop:releases/0/buyer/dataSource/lastUpdate": "2020-07-09T14:48:00.000Z",
"appaltipop:releases/0/buyer/dataSource/resources": [
{
"appaltipop:releases/0/buyer/resource/url": "data/IT-CF-00355870221/ocds/input.json",
"appaltipop:releases/0/buyer/resource/format": "json",
"appaltipop:releases/0/buyer/resource/sizeBytes": 778976732
},
{
"appaltipop:releases/0/buyer/resource/url": "data/IT-CF-00355870221/ocds/input.xlsx",
"appaltipop:releases/0/buyer/resource/format": "xlsx",
"appaltipop:releases/0/buyer/resource/sizeBytes": 8928698
}
]
}
@aborruso se riesci a implementare l'ultimo schema proposto per la nuova versione dell'indice con gli ultimi dati di @patrunomeister avvertimi... :)
@jenkin di pomeriggio ci lavoro
@jenkin ho aperto per errore nuova PR https://github.com/ondata/appaltipop/pull/57
Aggiornata la branch con il nuovo file di indice da #57
Una serie di problemi con l'attuale implementazione della pagina di download che con questa PR provo a risolvere.
Dati mancanti
Il mockup prevede queste informazioni, ma nell'attuale indice delle risorse ci sono solo quelle in grassetto.
Schema mancante
Non c'è nessuno schema dati né un processo di validazione per l'indice delle risorse.
Disponibilità dell'indice
Essendo un url esterno rispetto all'applicazione c'è il rischio che possa cambiare, che la risorsa possa essere corrotta da un commit sbagliato, che non sia raggiungibile (es. al momento il repo è privato, quindi non potrebbe funzionare).