Skip to content

Configurazione interfaccia e riuso #64

@edigiacomo

Description

@edigiacomo

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

  1. Da parametro GET (come fatto per i parametri reftime, configURL e configString dell'interfaccia "fixed")
  2. All'interno del tag <script> (come parametri di una funzione/costruttore)
  3. Usando un attributo data-* in un tag predefinito.
  4. 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.

Metadata

Metadata

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions