-
Notifications
You must be signed in to change notification settings - Fork 0
Description
Al momento, la configurazione globale per tutte le interfacce è definita in https://github.com/ARPA-SIMC/meteotiles/blob/ef204399507dbf50acb8da5ffb4aaaa2bbe97f40/src/settings.js e in parte nello script principale di ogni applicazione.
Quando si vuole testare l'applicazione, può essere necessario modificare il file settings.js. Stessa cosa può essere necessaria se, ad esempio, si vuole modificare l'URL del tile server (TILE_SERVER_URL).
Per migliorare il deploy e il riuso, si potrebbe pensare ad un sistema di sovrascrittura dei parametri di configurazione (e lasciare in settings.js i default) e/o passare i parametri all'interfaccia.
Il passaggio dei parametri può essere fatto
- Da parametro GET (come fatto per i parametri
reftime,configURLeconfigStringdell'interfaccia "fixed") - All'interno del tag
<script>(come parametri di una funzione/costruttore) - Usando un attributo
data-*in un tag predefinito. - Provando a fare il fetch di un file JSON dal nome predefinito (e.g.
conf.json) che, se presente, sovrascrive i default.
La soluzione (1) delega al client la definizione dei parametri (con tutti i pro e contro) ma si può anche fissare nel backend e.g. attraverso mod_rewrite.
Le soluzioni (2) e (3) prevedono comunque la modifica dell'HTML - oppure si deve esternalizzare l'HTML da meteotiles e rendere quest'ultimo una libreria: l'utente crea il suo file HTML e importa la libreria.
La soluzione (4) sarebbe quella meno onerosa ma è la meno flessibile.
Tutte le soluzioni sono compatibili con una gestione lato backend della configurazione: il caso (1) è già stato descritto, nel caso (2) e (3) l'HTML può essere generato server side a partire dalla configurazione della propria applicazione e nel caso (4) il file di configurazione può essere generato a runtime.