gwusermanual:interface:interface:layer_utente_wms_e_shapefile:user_layer_shapefile_wms

Questa è una vecchia versione del documento!


Layer Utente WMS e Shapefile

Sigla SV.0026.016
Versione GeoWeb 4.8.3
Versione MapGuide 3.1.2
Data rilascio 2026-06-26
Redattore GSC
Cliente FIBERCOP ZENITH REAL ESTATE
Issue #1808

Il presente documento descrive il rilascio della funzionalità Layer Utente WMS e Shapefile (sigla SV.0026.016) per il widget Layout 2D del prodotto GeoWeb MapGuide.

Il documento è rivolto al team di implementazione e ai responsabili tecnici del progetto; ha lo scopo di descrivere in modo esaustivo le modifiche apportate al framework, le dipendenze tecniche e le istruzioni di installazione.

Documento di riferimento Identificativo
Studio di Fattibilità / BRD SV.0026.016.SF — Layout 2D Layer Utente WMS + ShapeFile — V02 — 30/03/2026
Progetto Esecutivo / PE SV.0026.016.PE — Layout 2D Layer Utente WMS + ShapeFile — V01 — 21/05/2026
Cliente / Committente FIBERCOP ZENITH REAL ESTATE
Prodotto GeoWeb Framework — modulo MapGuide — widget Layout 2D

Nel framework GeoWeb MapGuide le mappe cartografiche erogate nelle webapp sono tradizionalmente pre-configurate dal personale tecnico GeoWeb tramite strumenti specializzati esterni (MapGuide Maestro). Le risorse cartografiche — Feature Source, Layer Definition, Map Definition — sono definite a monte e pubblicate sulla library del server MapGuide.

Esiste un meccanismo per il caricamento di package MapGuide personalizzati che permette a utenti configuratori di estendere le mappe; tuttavia tale meccanismo richiede competenze tecniche specialistiche e l'intervento del personale GeoWeb, escludendo l'utente finale da qualsiasi autonomia operativa nella gestione della cartografia.

Il servizio WMS è già supportato da GeoWeb come sfondo cartografico (baseLayer), configurabile dall'amministratore nel webadmin. Il webadmin non è tuttavia accessibile all'utente finale, che non può aggiungere autonomamente sorgenti WMS alla propria mappa.

Con questo rilascio l'utente finale acquisisce piena autonomia nella gestione di layer cartografici personalizzati, direttamente dalla webapp GeoWeb, senza necessità di strumenti esterni o intervento del personale tecnico.

Le tipologie di layer gestibili sono:

  • Layer WMS: l'utente specifica l'URL del servizio OGC WMS; il sistema recupera automaticamente le capabilities, presenta la lista dei layer disponibili e, al salvataggio, deploya il layer nella library MapGuide.
  • Layer Shapefile: l'utente carica un file ZIP contenente shapefile ESRI (.shp, .dbf, .shx); il sistema valida il contenuto, crea una Feature Source nella library MapGuide e genera il layer con la simbologia configurata dall'utente.

I layer utente si integrano nella legenda del widget Layout 2D in una folder dedicata “Layer Utente”, senza modifiche al layout della scheda mappa. Tutti i layer caricati da qualsiasi utente sono visibili a tutti gli utenti con accesso alla mappa.

Vademecum dei nuovi concetti base introdotti con questo rilascio.

Termine Definizione
Layer Utente Layer cartografico definito e gestito dall'utente finale; distinto dai layer di prodotto, configurati dal team GeoWeb tramite strumenti tecnici esterni.
Layer WMS Layer basato su servizio OGC Web Map Service; i dati cartografici sono richiesti in tempo reale al server WMS remoto tramite richieste HTTP.
Layer Shapefile Layer basato su file ZIP contenente shapefile ESRI (.shp, .dbf, .shx); i dati sono importati nella library MapGuide come Feature Source.
Feature Source Risorsa della library MapGuide che descrive una fonte dati (es. uno shapefile deployato); è il punto di partenza per la definizione di un layer.
Library MapGuide Repository centralizzato sul server MapGuide in cui sono memorizzate le risorse cartografiche: Feature Source, Layer Definition, Map Definition.
GetCapabilities Operazione standard OGC WMS (richiesta HTTP) che restituisce la lista dei layer disponibili, i CRS supportati e i metadati del servizio.
EventTrigger Componente Java GeoWeb che si attiva automaticamente al salvataggio di un record; in questo contesto gestisce il deploy del layer in MapGuide.
is_valid Flag DB (INTEGER 0/1): 1 = deploy completato con successo in MapGuide; 0 = errore (il dettaglio è nel campo validation_message).
FDO WMS Provider Driver MapGuide per l'accesso a servizi WMS (versione 4.1); invia sempre la BBOX in formato (lon, lat).
CRS geografico Sistema di riferimento non proiettato (es. EPSG 4326); con WMS 1.3.0 lo standard OGC richiede axis-order (lat, lon), in conflitto con FDO. Il sistema effettua auto-downgrade a WMS 1.1.0 in questo caso.
EhCache Framework di caching Java; le entry relative ai layer utente vengono invalidate ad ogni operazione di insert/update/delete, garantendo dati sempre aggiornati.
Componente Versione / Dettaglio
GeoWeb Framework 4.8.3
MapGuide Open Source 3.1.2
FDO WMS Provider 4.1
Database supportati PostgreSQL, Oracle, SQL Server
Java EventTrigger MapGuideUserLayerShapeFileTrigger, MapGuideUserLayerWMSTrigger
Cache EhCache: retrieveValidUserWmsLayersForMap, retrieveValidUserShapefileLayersForMap

Sono state introdotte due nuove classi GeoWeb, ciascuna con tabella DB e trigger Java associato:

Classe GeoWeb Tabella DB Trigger
gwd_mg_user_layer_shapefile gwd_mg_user_layer_shapefile MapGuideUserLayerShapeFileTrigger — valida ZIP, deploya Feature Source, aggiorna is_valid
gwd_mg_user_layer_wms gwd_mg_user_layer_wms MapGuideUserLayerWMSTrigger — esegue GetCapabilities, valida WMS, deploya con auto-downgrade 1.3.0→1.1.0 per CRS geografici

I metadati delle classi si trovano nella cartella DR/metadata/ e vanno importati tramite il Webadmin GeoWeb (funzione Import/Export metadati).

Campo Tipo Descrizione
id_mg_user_layer_shapefile INTEGER PK Identificativo univoco (autoincrement)
name VARCHAR Nome univoco del layer (UNIQUE)
description VARCHAR Descrizione testuale del layer
gw_map_name VARCHAR Nome della mappa MapGuide di riferimento
file_name VARCHAR Nome originale del file ZIP caricato
file_data BLOB/BYTEA Contenuto binario del file ZIP
file_c_type VARCHAR MIME type del file
is_valid INTEGER 1 = deploy riuscito; 0 = errore
validation_message VARCHAR Messaggio di esito validazione/deploy
is_valid_html VARCHAR HTML con indicatore di stato (verde/rosso)
is_visible INTEGER 1 = layer visibile nel renderer
is_shown_in_legend INTEGER 1 = layer incluso nella legenda
is_start_selected_in_legend INTEGER 1 = layer selezionato di default all'avvio
legend_name VARCHAR Etichetta personalizzata nella legenda
layer_filter VARCHAR Filtro FDO applicato al layer
library_resource_id TEXT Identificatore nella library MapGuide
style_xml_point / line / area VARCHAR/CLOB XML stile per tipo di geometria
style_pt_* / style_li_* / style_ar_* vari Parametri di stile (simbolo, colori, etichette) per punti/linee/aree
created_at / updated_at TIMESTAMP Date di creazione/modifica
created_by / updated_by VARCHAR Utente di creazione/modifica
Campo Tipo Descrizione
id_gwd_mg_user_layer_wms INTEGER PK Identificativo univoco (autoincrement)
name VARCHAR Nome univoco del layer WMS (UNIQUE)
description VARCHAR Descrizione testuale del layer
gw_map_name VARCHAR Nome della mappa MapGuide di riferimento
base_url TEXT URL base del servizio WMS
wms_version VARCHAR(20) Versione WMS negoziata (1.1.0 o 1.3.0)
wms_available_layers TEXT Elenco layer disponibili da GetCapabilities
wms_layers TEXT Layer selezionati per il deploy
wms_json_params JSONB/TEXT Parametri WMS aggiuntivi (JSON)
wms_get_capabilities_xml TEXT XML GetCapabilities memorizzato
username / password VARCHAR Credenziali servizio WMS (opzionali)
is_valid INTEGER 1 = deploy riuscito; 0 = errore
validation_message VARCHAR Messaggio di esito validazione/deploy
is_valid_html VARCHAR HTML con indicatore di stato
is_visible INTEGER 1 = layer visibile nel renderer
is_shown_in_legend INTEGER 1 = layer incluso nella legenda
is_start_selected_in_legend INTEGER 1 = layer selezionato di default all'avvio
legend_name VARCHAR Etichetta personalizzata nella legenda
created_at / updated_at TIMESTAMP Date di creazione/modifica
created_by / updated_by VARCHAR Utente di creazione/modifica
Componente File Descrizione
EventTrigger SHP MapGuideUserLayerShapeFileTrigger.java Validazione ZIP shapefile, deploy Feature Source in MapGuide, aggiornamento is_valid
EventTrigger WMS MapGuideUserLayerWMSTrigger.java Esecuzione GetCapabilities, validazione WMS, deploy WMS Layer, auto-downgrade versione, aggiornamento is_valid
MapGuideService MapGuideService.java Metodi addDynamicUserWmsLayersToMgMap e addDynamicUserShapefileLayersToMgMap; gestione fallback WMS 1.1.0 per CRS geografici
Layout2DController Layout2DController.java Wiring dell'aggiunta dei layer utente al caricamento del widget Layout 2D
LayersManagement.js LayersManagement.js Subscriptions agli eventi insert/update/delete → gwLoad() per ricaricamento automatico della mappa
Cache EhCache ehcache.xml Entry retrieveValidUserWmsLayersForMap e retrieveValidUserShapefileLayersForMap

Attore: Utente Finale

La lista mostra tutti i layer WMS configurati con il relativo indicatore di validità (verde = operativo, rosso = errore) e il messaggio di validazione.

Fig. 1 — Lista layer WMS (classe gwd_mg_user_layer_wms)

Per creare un nuovo layer WMS l'Utente Finale compila la scheda Definizione con:

  • Nome — nome univoco del layer (campo UNIQUE nel DB)
  • Mappa MapGuide — la mappa Layout 2D in cui sarà visibile il layer (gw_map_name)
  • URL base WMS — l'URL del servizio (es. http://server/wms?)

Fig. 2 — Form nuovo layer WMS: campi di definizione (vuoto)

Dopo l'inserimento dell'URL base, il sistema esegue automaticamente il GetCapabilities e popola la lista dei layer disponibili (wms_available_layers). L'Utente Finale seleziona i layer da visualizzare in mappa (wms_layers).

Fig. 3 — Form nuovo layer WMS: compilato con layer disponibili caricati da GetCapabilities

Al salvataggio, il trigger MapGuideUserLayerWMSTrigger esegue il deploy nella library MapGuide e aggiorna i campi is_valid, validation_message, is_valid_html.

Fig. 4 — Layer WMS salvato: indicatore di validità aggiornato (verde = deploy riuscito)

Aprendo la mappa Layout 2D configurata nel layer, il sistema carica i layer WMS validi per quella mappa e li aggiunge alla cartografia. I layer appaiono nella folder “Layer Utente” della legenda.

Fig. 5 — Mappa Layout 2D con layer WMS attivo nella folder “Layer Utente”

Attore: Utente Finale

La lista mostra tutti i layer Shapefile configurati con indicatore di validità.

lista_classe_layer_shapefile.jpg

Fig. 6 — Lista layer Shapefile (classe gwd_mg_user_layer_shapefile)

La scheda Definizione richiede:

  • Nome — nome univoco del layer
  • Mappa MapGuide — mappa di destinazione
  • File shapefile (ZIP) — file ZIP contenente obbligatoriamente .shp, .dbf, .shx (opzionali: .prj, .cpg)

Fig. 7 — Form nuovo layer Shapefile: campi di definizione (vuoto)

Fig. 8 — Form nuovo layer Shapefile: compilato con file ZIP caricato

La scheda Stili permette di configurare la simbologia per tipo di geometria. I parametri di stile vengono serializzati come XML MapGuide Layer Definition (campi style_xml_point, style_xml_line, style_xml_area).

Stile Punti:

Fig. 9 — Configurazione stile: geometrie punto (simbolo, dimensione, colore, etichetta)

Stile Linee:

Fig. 10 — Configurazione stile: geometrie linea (stile linea, spessore, colore, etichetta)

Stile Aree:

Fig. 11 — Configurazione stile: geometrie area/poligono (riempimento, bordo, etichetta)

Al salvataggio, il trigger MapGuideUserLayerShapeFileTrigger valida il contenuto del ZIP (presenza dei file obbligatori), crea la Feature Source nella library MapGuide e aggiorna is_valid.

Fig. 12 — Layer Shapefile salvato: indicatore di validità aggiornato

Fig. 13 — Mappa Layout 2D con layer Shapefile attivo

Entrambe le classi supportano i seguenti campi per la gestione della legenda:

Campo Comportamento
legend_name Etichetta del nodo nella legenda. Se vuoto, viene usato il campo name.
is_shown_in_legend 1 = il layer appare nell'albero della legenda; 0 = nascosto.
is_start_selected_in_legend 1 = il layer è selezionato (spuntato) di default all'apertura della mappa.

I layer appaiono raggruppati in una folder denominata “Layer Utente” nell'albero della legenda del widget Layout 2D.

Il widget Layout 2D si ricarica automaticamente (via gwLoad()) ogni volta che viene eseguita un'operazione di insert, update o delete su una delle classi gwd_mg_user_layer_shapefile o gwd_mg_user_layer_wms.

Il meccanismo è implementato in LayersManagement.js tramite subscriptions ai topic di aggiornamento pubblicati dal modulo dati. Questo garantisce che le modifiche ai layer siano immediatamente visibili in mappa senza ricaricare la pagina.

I trigger sono implementati come Java EventTrigger (non groovy) e implementano i metodi:

  • afterInsert — deploy del layer appena creato
  • afterUpdate — re-deploy del layer aggiornato
  • afterDelete — rimozione del layer dalla library MapGuide

L'aggiornamento di is_valid in caso di errore avviene tramite executeUpdateQuery() (query SQL diretta) e non tramite modifica JPA dell'entità originale. Questo è necessario perché il metodo si trova negli hook after*: a quel punto la transazione JPA è già stata completata e non è possibile modificare l'entità originale.

FDO WMS Provider 4.1 invia sempre la BBOX come (longitudine, latitudine). Con WMS 1.3.0 e CRS geografici (EPSG 4000–4999, 6000–6999, 7000–7999) lo standard OGC prevede axis-order inverso (lat, lon), causando un mismatch che produce tiles vuote o errate.

Soluzione implementata: per servizi WMS che espongono CRS geografici, il sistema rileva automaticamente la situazione e usa la versione 1.1.0 (che usa sempre lon/lat indipendentemente dal CRS). La versione negoziata viene memorizzata nel campo wms_version.

Le entry di cache retrieveValidUserWmsLayersForMap e retrieveValidUserShapefileLayersForMap memorizzano i layer validi per mappa. La cache viene invalidata automaticamente ad ogni operazione di insert/update/delete sui layer utente, garantendo che la mappa ricarichi sempre i dati aggiornati.

Voce Valore
URL applicazione Utente Finale http://192.168.0.225:8090/test_gw48/project/mg_user_layer.html?group=TESTER_GROUP
Utente Finale — username tester
Utente Finale — password Tester0@
URL Webadmin http://192.168.0.225:8090/test_gw48admin/index.html
Webadmin — utente adminTester
Webadmin — password admin
Versione GeoWeb 4.8.3
Versione MapGuide 3.1.2

Script DDL per la creazione delle tabelle applicative (schema dati GeoWeb). Eseguire prima di importare i metadati.

data_script_postgres.sql
-- Table: test_gw48data.gwd_mg_user_layer_shapefile
 
-- DROP TABLE IF EXISTS test_gw48data.gwd_mg_user_layer_shapefile;
 
CREATE TABLE IF NOT EXISTS test_gw48data.gwd_mg_user_layer_shapefile
(
    id_mg_user_layer_shapefile INTEGER NOT NULL,
    name CHARACTER VARYING COLLATE pg_catalog."default" NOT NULL,
    description CHARACTER VARYING COLLATE pg_catalog."default",
    gw_map_name CHARACTER VARYING COLLATE pg_catalog."default" NOT NULL,
    file_name CHARACTER VARYING COLLATE pg_catalog."default" NOT NULL,
    file_data bytea NOT NULL,
    file_c_type CHARACTER VARYING COLLATE pg_catalog."default" NOT NULL,
    is_valid INTEGER NOT NULL DEFAULT 0,
    is_valid_html CHARACTER VARYING COLLATE pg_catalog."default",
    validation_message CHARACTER VARYING COLLATE pg_catalog."default",
    is_visible INTEGER NOT NULL DEFAULT 0,
    is_shown_in_legend INTEGER NOT NULL DEFAULT 0,
    layer_filter CHARACTER VARYING COLLATE pg_catalog."default",
    style_xml_point CHARACTER VARYING COLLATE pg_catalog."default",
    style_pt_display INTEGER NOT NULL DEFAULT 1,
    style_pt_allowoverpost INTEGER NOT NULL DEFAULT 0,
    style_pt_symbol_display INTEGER NOT NULL DEFAULT 1,
    style_pt_symbol_shape CHARACTER VARYING COLLATE pg_catalog."default",
    style_pt_symbol_size_context CHARACTER VARYING COLLATE pg_catalog."default",
    style_pt_symbol_unit CHARACTER VARYING COLLATE pg_catalog."default",
    style_pt_symbol_width CHARACTER VARYING COLLATE pg_catalog."default",
    style_pt_symbol_height CHARACTER VARYING COLLATE pg_catalog."default",
    style_pt_symbol_rotation CHARACTER VARYING COLLATE pg_catalog."default",
    style_pt_symbol_fill_display INTEGER NOT NULL DEFAULT 1,
    style_pt_symbol_fill_pattern CHARACTER VARYING COLLATE pg_catalog."default",
    style_pt_symbol_fill_foregroundcolor CHARACTER VARYING COLLATE pg_catalog."default",
    style_pt_symbol_fill_backgroundcolor CHARACTER VARYING COLLATE pg_catalog."default",
    style_pt_symbol_edge_display INTEGER NOT NULL DEFAULT 1,
    style_pt_symbol_edge_linestyle CHARACTER VARYING COLLATE pg_catalog."default",
    style_pt_symbol_edge_thickness CHARACTER VARYING COLLATE pg_catalog."default",
    style_pt_symbol_edge_color CHARACTER VARYING COLLATE pg_catalog."default",
    style_pt_label_display INTEGER NOT NULL DEFAULT 0,
    style_pt_label_unit CHARACTER VARYING COLLATE pg_catalog."default",
    style_pt_label_sizecontext CHARACTER VARYING COLLATE pg_catalog."default",
    style_pt_label_size CHARACTER VARYING COLLATE pg_catalog."default",
    style_pt_label_rotation CHARACTER VARYING COLLATE pg_catalog."default",
    style_pt_label_text CHARACTER VARYING COLLATE pg_catalog."default",
    style_pt_label_foregroundcolor CHARACTER VARYING COLLATE pg_catalog."default",
    style_pt_label_backgroundcolor CHARACTER VARYING COLLATE pg_catalog."default",
    style_pt_label_backgroundstyle CHARACTER VARYING COLLATE pg_catalog."default",
    style_pt_label_h_align CHARACTER VARYING COLLATE pg_catalog."default",
    style_pt_label_v_align CHARACTER VARYING COLLATE pg_catalog."default",
    style_xml_line CHARACTER VARYING COLLATE pg_catalog."default",
    style_li_display INTEGER NOT NULL DEFAULT 1,
    style_li_symbol_display INTEGER NOT NULL DEFAULT 1,
    style_li_symbol_linestyle CHARACTER VARYING COLLATE pg_catalog."default",
    style_li_symbol_thickness CHARACTER VARYING COLLATE pg_catalog."default",
    style_li_symbol_color CHARACTER VARYING COLLATE pg_catalog."default",
    style_li_symbol_unit CHARACTER VARYING COLLATE pg_catalog."default",
    style_li_label_display INTEGER NOT NULL DEFAULT 0,
    style_li_label_unit CHARACTER VARYING COLLATE pg_catalog."default",
    style_li_label_sizecontext CHARACTER VARYING COLLATE pg_catalog."default",
    style_li_label_size CHARACTER VARYING COLLATE pg_catalog."default",
    style_li_label_rotation CHARACTER VARYING COLLATE pg_catalog."default",
    style_li_label_text CHARACTER VARYING COLLATE pg_catalog."default",
    style_li_label_foregroundcolor CHARACTER VARYING COLLATE pg_catalog."default",
    style_li_label_backgroundcolor CHARACTER VARYING COLLATE pg_catalog."default",
    style_li_label_backgroundstyle CHARACTER VARYING COLLATE pg_catalog."default",
    style_li_label_h_align CHARACTER VARYING COLLATE pg_catalog."default",
    style_li_label_v_align CHARACTER VARYING COLLATE pg_catalog."default",
    style_xml_area CHARACTER VARYING COLLATE pg_catalog."default",
    style_ar_display INTEGER NOT NULL DEFAULT 1,
    style_ar_fill_display INTEGER NOT NULL DEFAULT 1,
    style_ar_fill_pattern CHARACTER VARYING COLLATE pg_catalog."default",
    style_ar_fill_foregroundcolor CHARACTER VARYING COLLATE pg_catalog."default",
    style_ar_fill_backgroundcolor CHARACTER VARYING COLLATE pg_catalog."default",
    style_ar_stroke_display INTEGER NOT NULL DEFAULT 1,
    style_ar_stroke_linestyle CHARACTER VARYING COLLATE pg_catalog."default",
    style_ar_stroke_thickness CHARACTER VARYING COLLATE pg_catalog."default",
    style_ar_stroke_color CHARACTER VARYING COLLATE pg_catalog."default",
    style_ar_stroke_unit CHARACTER VARYING COLLATE pg_catalog."default",
    style_ar_label_display INTEGER NOT NULL DEFAULT 0,
    style_ar_label_unit CHARACTER VARYING COLLATE pg_catalog."default",
    style_ar_label_sizecontext CHARACTER VARYING COLLATE pg_catalog."default",
    style_ar_label_size CHARACTER VARYING COLLATE pg_catalog."default",
    style_ar_label_rotation CHARACTER VARYING COLLATE pg_catalog."default",
    style_ar_label_text CHARACTER VARYING COLLATE pg_catalog."default",
    style_ar_label_foregroundcolor CHARACTER VARYING COLLATE pg_catalog."default",
    style_ar_label_backgroundcolor CHARACTER VARYING COLLATE pg_catalog."default",
    style_ar_label_backgroundstyle CHARACTER VARYING COLLATE pg_catalog."default",
    style_ar_label_h_align CHARACTER VARYING COLLATE pg_catalog."default",
    style_ar_label_v_align CHARACTER VARYING COLLATE pg_catalog."default",
    created_at TIMESTAMP WITHOUT TIME zone,
    created_by CHARACTER VARYING COLLATE pg_catalog."default",
    updated_at TIMESTAMP WITHOUT TIME zone,
    updated_by CHARACTER VARYING COLLATE pg_catalog."default",
    is_start_selected_in_legend INTEGER NOT NULL DEFAULT 0,
    legend_name CHARACTER VARYING COLLATE pg_catalog."default",
    CONSTRAINT gwd_mg_user_layer_shapefile_pkey PRIMARY KEY (id_mg_user_layer_shapefile),
    CONSTRAINT unique_name_layer_shapefile UNIQUE (name)
)
WITH (
    OIDS = FALSE
)
TABLESPACE pg_default;
 
ALTER TABLE IF EXISTS test_gw48data.gwd_mg_user_layer_shapefile
    OWNER TO test_gw48data;
 
 
-- Table: test_gw48data.gwd_mg_user_layer_wms
 
-- DROP TABLE IF EXISTS test_gw48data.gwd_mg_user_layer_wms;
 
CREATE TABLE IF NOT EXISTS test_gw48data.gwd_mg_user_layer_wms
(
    id_gwd_mg_user_layer_wms INTEGER NOT NULL,
    name CHARACTER VARYING COLLATE pg_catalog."default" NOT NULL,
    description CHARACTER VARYING COLLATE pg_catalog."default",
    gw_map_name CHARACTER VARYING COLLATE pg_catalog."default" NOT NULL,
    base_url CHARACTER VARYING COLLATE pg_catalog."default" NOT NULL,
    wms_version CHARACTER VARYING COLLATE pg_catalog."default",
    wms_available_layers CHARACTER VARYING COLLATE pg_catalog."default",
    wms_layers CHARACTER VARYING COLLATE pg_catalog."default",
    wms_json_params jsonb,
    username CHARACTER VARYING COLLATE pg_catalog."default",
    password CHARACTER VARYING COLLATE pg_catalog."default",
    is_valid INTEGER NOT NULL DEFAULT 0,
    is_valid_html CHARACTER VARYING COLLATE pg_catalog."default",
    validation_message CHARACTER VARYING COLLATE pg_catalog."default",
    created_at TIMESTAMP WITHOUT TIME zone,
    created_by CHARACTER VARYING COLLATE pg_catalog."default",
    updated_at TIMESTAMP WITHOUT TIME zone,
    updated_by CHARACTER VARYING COLLATE pg_catalog."default",
    wms_get_capabilities_xml CHARACTER VARYING COLLATE pg_catalog."default",
    is_visible INTEGER NOT NULL DEFAULT 0,
    is_shown_in_legend INTEGER NOT NULL DEFAULT 0,
    is_start_selected_in_legend INTEGER NOT NULL DEFAULT 0,
    legend_name CHARACTER VARYING COLLATE pg_catalog."default",
    CONSTRAINT gwd_mg_user_layer_wms_pkey PRIMARY KEY (id_gwd_mg_user_layer_wms),
    CONSTRAINT unique_name_layer_wms UNIQUE (name)
)
WITH (
    OIDS = FALSE
)
TABLESPACE pg_default;
 
ALTER TABLE IF EXISTS test_gw48data.gwd_mg_user_layer_wms
    OWNER TO test_gw48data;
data_script_oracle.sql
-- SV.0026.016 - Layout 2D: Layer Utente WMS + Shapefile
-- Oracle DDL
-- Redattore: GSC  Data: 2026-06-26
 
-- ============================================================
-- Tabella: GWD_MG_USER_LAYER_SHAPEFILE
-- ============================================================
 
CREATE TABLE GWD_MG_USER_LAYER_SHAPEFILE
(
    ID_MG_USER_LAYER_SHAPEFILE   NUMBER(10)    NOT NULL,
    NAME                         VARCHAR2(500) NOT NULL,
    DESCRIPTION                  VARCHAR2(2000),
    GW_MAP_NAME                  VARCHAR2(500) NOT NULL,
    FILE_NAME                    VARCHAR2(500) NOT NULL,
    FILE_DATA                    BLOB          NOT NULL,
    FILE_C_TYPE                  VARCHAR2(200) NOT NULL,
    IS_VALID                     NUMBER(1)     DEFAULT 0 NOT NULL,
    IS_VALID_HTML                VARCHAR2(2000),
    VALIDATION_MESSAGE           VARCHAR2(2000),
    IS_VISIBLE                   NUMBER(1)     DEFAULT 0 NOT NULL,
    IS_SHOWN_IN_LEGEND           NUMBER(1)     DEFAULT 0 NOT NULL,
    LAYER_FILTER                 VARCHAR2(4000),
    STYLE_XML_POINT              CLOB,
    STYLE_PT_DISPLAY             NUMBER(1)     DEFAULT 1 NOT NULL,
    STYLE_PT_ALLOWOVERPOST       NUMBER(1)     DEFAULT 0 NOT NULL,
    STYLE_PT_SYMBOL_DISPLAY      NUMBER(1)     DEFAULT 1 NOT NULL,
    STYLE_PT_SYMBOL_SHAPE        VARCHAR2(200),
    STYLE_PT_SYMBOL_SIZE_CONTEXT VARCHAR2(200),
    STYLE_PT_SYMBOL_UNIT         VARCHAR2(100),
    STYLE_PT_SYMBOL_WIDTH        VARCHAR2(100),
    STYLE_PT_SYMBOL_HEIGHT       VARCHAR2(100),
    STYLE_PT_SYMBOL_ROTATION     VARCHAR2(100),
    STYLE_PT_SYMBOL_FILL_DISPLAY         NUMBER(1) DEFAULT 1 NOT NULL,
    STYLE_PT_SYMBOL_FILL_PATTERN         VARCHAR2(200),
    STYLE_PT_SYMBOL_FILL_FOREGROUNDCOLOR VARCHAR2(50),
    STYLE_PT_SYMBOL_FILL_BACKGROUNDCOLOR VARCHAR2(50),
    STYLE_PT_SYMBOL_EDGE_DISPLAY         NUMBER(1) DEFAULT 1 NOT NULL,
    STYLE_PT_SYMBOL_EDGE_LINESTYLE       VARCHAR2(100),
    STYLE_PT_SYMBOL_EDGE_THICKNESS       VARCHAR2(100),
    STYLE_PT_SYMBOL_EDGE_COLOR           VARCHAR2(50),
    STYLE_PT_LABEL_DISPLAY               NUMBER(1) DEFAULT 0 NOT NULL,
    STYLE_PT_LABEL_UNIT                  VARCHAR2(100),
    STYLE_PT_LABEL_SIZECONTEXT           VARCHAR2(200),
    STYLE_PT_LABEL_SIZE                  VARCHAR2(100),
    STYLE_PT_LABEL_ROTATION              VARCHAR2(100),
    STYLE_PT_LABEL_TEXT                  VARCHAR2(500),
    STYLE_PT_LABEL_FOREGROUNDCOLOR       VARCHAR2(50),
    STYLE_PT_LABEL_BACKGROUNDCOLOR       VARCHAR2(50),
    STYLE_PT_LABEL_BACKGROUNDSTYLE       VARCHAR2(100),
    STYLE_PT_LABEL_H_ALIGN               VARCHAR2(50),
    STYLE_PT_LABEL_V_ALIGN               VARCHAR2(50),
    STYLE_XML_LINE               CLOB,
    STYLE_LI_DISPLAY             NUMBER(1)     DEFAULT 1 NOT NULL,
    STYLE_LI_SYMBOL_DISPLAY      NUMBER(1)     DEFAULT 1 NOT NULL,
    STYLE_LI_SYMBOL_LINESTYLE    VARCHAR2(100),
    STYLE_LI_SYMBOL_THICKNESS    VARCHAR2(100),
    STYLE_LI_SYMBOL_COLOR        VARCHAR2(50),
    STYLE_LI_SYMBOL_UNIT         VARCHAR2(100),
    STYLE_LI_LABEL_DISPLAY               NUMBER(1) DEFAULT 0 NOT NULL,
    STYLE_LI_LABEL_UNIT                  VARCHAR2(100),
    STYLE_LI_LABEL_SIZECONTEXT           VARCHAR2(200),
    STYLE_LI_LABEL_SIZE                  VARCHAR2(100),
    STYLE_LI_LABEL_ROTATION              VARCHAR2(100),
    STYLE_LI_LABEL_TEXT                  VARCHAR2(500),
    STYLE_LI_LABEL_FOREGROUNDCOLOR       VARCHAR2(50),
    STYLE_LI_LABEL_BACKGROUNDCOLOR       VARCHAR2(50),
    STYLE_LI_LABEL_BACKGROUNDSTYLE       VARCHAR2(100),
    STYLE_LI_LABEL_H_ALIGN               VARCHAR2(50),
    STYLE_LI_LABEL_V_ALIGN               VARCHAR2(50),
    STYLE_XML_AREA               CLOB,
    STYLE_AR_DISPLAY             NUMBER(1)     DEFAULT 1 NOT NULL,
    STYLE_AR_FILL_DISPLAY        NUMBER(1)     DEFAULT 1 NOT NULL,
    STYLE_AR_FILL_PATTERN        VARCHAR2(200),
    STYLE_AR_FILL_FOREGROUNDCOLOR        VARCHAR2(50),
    STYLE_AR_FILL_BACKGROUNDCOLOR        VARCHAR2(50),
    STYLE_AR_STROKE_DISPLAY              NUMBER(1) DEFAULT 1 NOT NULL,
    STYLE_AR_STROKE_LINESTYLE            VARCHAR2(100),
    STYLE_AR_STROKE_THICKNESS            VARCHAR2(100),
    STYLE_AR_STROKE_COLOR                VARCHAR2(50),
    STYLE_AR_STROKE_UNIT                 VARCHAR2(100),
    STYLE_AR_LABEL_DISPLAY               NUMBER(1) DEFAULT 0 NOT NULL,
    STYLE_AR_LABEL_UNIT                  VARCHAR2(100),
    STYLE_AR_LABEL_SIZECONTEXT           VARCHAR2(200),
    STYLE_AR_LABEL_SIZE                  VARCHAR2(100),
    STYLE_AR_LABEL_ROTATION              VARCHAR2(100),
    STYLE_AR_LABEL_TEXT                  VARCHAR2(500),
    STYLE_AR_LABEL_FOREGROUNDCOLOR       VARCHAR2(50),
    STYLE_AR_LABEL_BACKGROUNDCOLOR       VARCHAR2(50),
    STYLE_AR_LABEL_BACKGROUNDSTYLE       VARCHAR2(100),
    STYLE_AR_LABEL_H_ALIGN               VARCHAR2(50),
    STYLE_AR_LABEL_V_ALIGN               VARCHAR2(50),
    CREATED_AT                   TIMESTAMP,
    CREATED_BY                   VARCHAR2(200),
    UPDATED_AT                   TIMESTAMP,
    UPDATED_BY                   VARCHAR2(200),
    IS_START_SELECTED_IN_LEGEND  NUMBER(1)     DEFAULT 0 NOT NULL,
    LEGEND_NAME                  VARCHAR2(500),
    CONSTRAINT GWD_MG_USER_LAYER_SHAPEFILE_PK PRIMARY KEY (ID_MG_USER_LAYER_SHAPEFILE),
    CONSTRAINT UNIQUE_NAME_LAYER_SHAPEFILE UNIQUE (NAME)
);
 
 
-- ============================================================
-- Tabella: GWD_MG_USER_LAYER_WMS
-- ============================================================
 
CREATE TABLE GWD_MG_USER_LAYER_WMS
(
    ID_GWD_MG_USER_LAYER_WMS        NUMBER(10)    NOT NULL,
    NAME                             VARCHAR2(500) NOT NULL,
    DESCRIPTION                      VARCHAR2(2000),
    GW_MAP_NAME                      VARCHAR2(500) NOT NULL,
    BASE_URL                         VARCHAR2(2000) NOT NULL,
    WMS_VERSION                      VARCHAR2(20),
    WMS_AVAILABLE_LAYERS             CLOB,
    WMS_LAYERS                       VARCHAR2(2000),
    WMS_JSON_PARAMS                  CLOB,
    USERNAME                         VARCHAR2(200),
    PASSWORD                         VARCHAR2(200),
    IS_VALID                         NUMBER(1)     DEFAULT 0 NOT NULL,
    IS_VALID_HTML                    VARCHAR2(2000),
    VALIDATION_MESSAGE               VARCHAR2(2000),
    CREATED_AT                       TIMESTAMP,
    CREATED_BY                       VARCHAR2(200),
    UPDATED_AT                       TIMESTAMP,
    UPDATED_BY                       VARCHAR2(200),
    WMS_GET_CAPABILITIES_XML         CLOB,
    IS_VISIBLE                       NUMBER(1)     DEFAULT 0 NOT NULL,
    IS_SHOWN_IN_LEGEND               NUMBER(1)     DEFAULT 0 NOT NULL,
    IS_START_SELECTED_IN_LEGEND      NUMBER(1)     DEFAULT 0 NOT NULL,
    LEGEND_NAME                      VARCHAR2(500),
    CONSTRAINT GWD_MG_USER_LAYER_WMS_PK PRIMARY KEY (ID_GWD_MG_USER_LAYER_WMS),
    CONSTRAINT UNIQUE_NAME_LAYER_WMS UNIQUE (NAME)
);
data_script_mssqlserver.sql
-- SV.0026.016 - Layout 2D: Layer Utente WMS + Shapefile
-- SQL Server DDL
-- Redattore: GSC  Data: 2026-06-26
 
-- ============================================================
-- Tabella: GWD_MG_USER_LAYER_SHAPEFILE
-- ============================================================
 
IF OBJECT_ID(N'dbo.GWD_MG_USER_LAYER_SHAPEFILE', N'U') IS NULL
BEGIN
    CREATE TABLE dbo.GWD_MG_USER_LAYER_SHAPEFILE
    (
        ID_MG_USER_LAYER_SHAPEFILE       INT           NOT NULL,
        NAME                             NVARCHAR(500) NOT NULL,
        DESCRIPTION                      NVARCHAR(2000),
        GW_MAP_NAME                      NVARCHAR(500) NOT NULL,
        FILE_NAME                        NVARCHAR(500) NOT NULL,
        FILE_DATA                        VARBINARY(MAX) NOT NULL,
        FILE_C_TYPE                      NVARCHAR(200) NOT NULL,
        IS_VALID                         INT           NOT NULL DEFAULT 0,
        IS_VALID_HTML                    NVARCHAR(2000),
        VALIDATION_MESSAGE               NVARCHAR(2000),
        IS_VISIBLE                       INT           NOT NULL DEFAULT 0,
        IS_SHOWN_IN_LEGEND               INT           NOT NULL DEFAULT 0,
        LAYER_FILTER                     NVARCHAR(4000),
        STYLE_XML_POINT                  NVARCHAR(MAX),
        STYLE_PT_DISPLAY                 INT           NOT NULL DEFAULT 1,
        STYLE_PT_ALLOWOVERPOST           INT           NOT NULL DEFAULT 0,
        STYLE_PT_SYMBOL_DISPLAY          INT           NOT NULL DEFAULT 1,
        STYLE_PT_SYMBOL_SHAPE            NVARCHAR(200),
        STYLE_PT_SYMBOL_SIZE_CONTEXT     NVARCHAR(200),
        STYLE_PT_SYMBOL_UNIT             NVARCHAR(100),
        STYLE_PT_SYMBOL_WIDTH            NVARCHAR(100),
        STYLE_PT_SYMBOL_HEIGHT           NVARCHAR(100),
        STYLE_PT_SYMBOL_ROTATION         NVARCHAR(100),
        STYLE_PT_SYMBOL_FILL_DISPLAY         INT           NOT NULL DEFAULT 1,
        STYLE_PT_SYMBOL_FILL_PATTERN         NVARCHAR(200),
        STYLE_PT_SYMBOL_FILL_FOREGROUNDCOLOR NVARCHAR(50),
        STYLE_PT_SYMBOL_FILL_BACKGROUNDCOLOR NVARCHAR(50),
        STYLE_PT_SYMBOL_EDGE_DISPLAY         INT           NOT NULL DEFAULT 1,
        STYLE_PT_SYMBOL_EDGE_LINESTYLE       NVARCHAR(100),
        STYLE_PT_SYMBOL_EDGE_THICKNESS       NVARCHAR(100),
        STYLE_PT_SYMBOL_EDGE_COLOR           NVARCHAR(50),
        STYLE_PT_LABEL_DISPLAY               INT           NOT NULL DEFAULT 0,
        STYLE_PT_LABEL_UNIT                  NVARCHAR(100),
        STYLE_PT_LABEL_SIZECONTEXT           NVARCHAR(200),
        STYLE_PT_LABEL_SIZE                  NVARCHAR(100),
        STYLE_PT_LABEL_ROTATION              NVARCHAR(100),
        STYLE_PT_LABEL_TEXT                  NVARCHAR(500),
        STYLE_PT_LABEL_FOREGROUNDCOLOR       NVARCHAR(50),
        STYLE_PT_LABEL_BACKGROUNDCOLOR       NVARCHAR(50),
        STYLE_PT_LABEL_BACKGROUNDSTYLE       NVARCHAR(100),
        STYLE_PT_LABEL_H_ALIGN               NVARCHAR(50),
        STYLE_PT_LABEL_V_ALIGN               NVARCHAR(50),
        STYLE_XML_LINE                   NVARCHAR(MAX),
        STYLE_LI_DISPLAY                 INT           NOT NULL DEFAULT 1,
        STYLE_LI_SYMBOL_DISPLAY          INT           NOT NULL DEFAULT 1,
        STYLE_LI_SYMBOL_LINESTYLE        NVARCHAR(100),
        STYLE_LI_SYMBOL_THICKNESS        NVARCHAR(100),
        STYLE_LI_SYMBOL_COLOR            NVARCHAR(50),
        STYLE_LI_SYMBOL_UNIT             NVARCHAR(100),
        STYLE_LI_LABEL_DISPLAY               INT           NOT NULL DEFAULT 0,
        STYLE_LI_LABEL_UNIT                  NVARCHAR(100),
        STYLE_LI_LABEL_SIZECONTEXT           NVARCHAR(200),
        STYLE_LI_LABEL_SIZE                  NVARCHAR(100),
        STYLE_LI_LABEL_ROTATION              NVARCHAR(100),
        STYLE_LI_LABEL_TEXT                  NVARCHAR(500),
        STYLE_LI_LABEL_FOREGROUNDCOLOR       NVARCHAR(50),
        STYLE_LI_LABEL_BACKGROUNDCOLOR       NVARCHAR(50),
        STYLE_LI_LABEL_BACKGROUNDSTYLE       NVARCHAR(100),
        STYLE_LI_LABEL_H_ALIGN               NVARCHAR(50),
        STYLE_LI_LABEL_V_ALIGN               NVARCHAR(50),
        STYLE_XML_AREA                   NVARCHAR(MAX),
        STYLE_AR_DISPLAY                 INT           NOT NULL DEFAULT 1,
        STYLE_AR_FILL_DISPLAY            INT           NOT NULL DEFAULT 1,
        STYLE_AR_FILL_PATTERN            NVARCHAR(200),
        STYLE_AR_FILL_FOREGROUNDCOLOR    NVARCHAR(50),
        STYLE_AR_FILL_BACKGROUNDCOLOR    NVARCHAR(50),
        STYLE_AR_STROKE_DISPLAY              INT           NOT NULL DEFAULT 1,
        STYLE_AR_STROKE_LINESTYLE            NVARCHAR(100),
        STYLE_AR_STROKE_THICKNESS            NVARCHAR(100),
        STYLE_AR_STROKE_COLOR                NVARCHAR(50),
        STYLE_AR_STROKE_UNIT                 NVARCHAR(100),
        STYLE_AR_LABEL_DISPLAY               INT           NOT NULL DEFAULT 0,
        STYLE_AR_LABEL_UNIT                  NVARCHAR(100),
        STYLE_AR_LABEL_SIZECONTEXT           NVARCHAR(200),
        STYLE_AR_LABEL_SIZE                  NVARCHAR(100),
        STYLE_AR_LABEL_ROTATION              NVARCHAR(100),
        STYLE_AR_LABEL_TEXT                  NVARCHAR(500),
        STYLE_AR_LABEL_FOREGROUNDCOLOR       NVARCHAR(50),
        STYLE_AR_LABEL_BACKGROUNDCOLOR       NVARCHAR(50),
        STYLE_AR_LABEL_BACKGROUNDSTYLE       NVARCHAR(100),
        STYLE_AR_LABEL_H_ALIGN               NVARCHAR(50),
        STYLE_AR_LABEL_V_ALIGN               NVARCHAR(50),
        CREATED_AT                       DATETIME2,
        CREATED_BY                       NVARCHAR(200),
        UPDATED_AT                       DATETIME2,
        UPDATED_BY                       NVARCHAR(200),
        IS_START_SELECTED_IN_LEGEND      INT           NOT NULL DEFAULT 0,
        LEGEND_NAME                      NVARCHAR(500),
        CONSTRAINT GWD_MG_USER_LAYER_SHAPEFILE_PK PRIMARY KEY (ID_MG_USER_LAYER_SHAPEFILE),
        CONSTRAINT UNIQUE_NAME_LAYER_SHAPEFILE UNIQUE (NAME)
    );
END
GO
 
 
-- ============================================================
-- Tabella: GWD_MG_USER_LAYER_WMS
-- ============================================================
 
IF OBJECT_ID(N'dbo.GWD_MG_USER_LAYER_WMS', N'U') IS NULL
BEGIN
    CREATE TABLE dbo.GWD_MG_USER_LAYER_WMS
    (
        ID_GWD_MG_USER_LAYER_WMS        INT            NOT NULL,
        NAME                             NVARCHAR(500)  NOT NULL,
        DESCRIPTION                      NVARCHAR(2000),
        GW_MAP_NAME                      NVARCHAR(500)  NOT NULL,
        BASE_URL                         NVARCHAR(2000) NOT NULL,
        WMS_VERSION                      NVARCHAR(20),
        WMS_AVAILABLE_LAYERS             NVARCHAR(MAX),
        WMS_LAYERS                       NVARCHAR(2000),
        WMS_JSON_PARAMS                  NVARCHAR(MAX),
        USERNAME                         NVARCHAR(200),
        PASSWORD                         NVARCHAR(200),
        IS_VALID                         INT            NOT NULL DEFAULT 0,
        IS_VALID_HTML                    NVARCHAR(2000),
        VALIDATION_MESSAGE               NVARCHAR(2000),
        CREATED_AT                       DATETIME2,
        CREATED_BY                       NVARCHAR(200),
        UPDATED_AT                       DATETIME2,
        UPDATED_BY                       NVARCHAR(200),
        WMS_GET_CAPABILITIES_XML         NVARCHAR(MAX),
        IS_VISIBLE                       INT            NOT NULL DEFAULT 0,
        IS_SHOWN_IN_LEGEND               INT            NOT NULL DEFAULT 0,
        IS_START_SELECTED_IN_LEGEND      INT            NOT NULL DEFAULT 0,
        LEGEND_NAME                      NVARCHAR(500),
        CONSTRAINT GWD_MG_USER_LAYER_WMS_PK PRIMARY KEY (ID_GWD_MG_USER_LAYER_WMS),
        CONSTRAINT UNIQUE_NAME_LAYER_WMS UNIQUE (NAME)
    );
END
GO

Script DDL per l'aggiornamento dello schema metadati GeoWeb (tabelle gwm_*). Eseguire dopo il data_script e prima dell'importazione dei metadati GeoWeb.

Il campo layout della tabella gwm_detail_layouts viene ampliato a tipo illimitato (TEXT / CLOB / NVARCHAR(MAX)) per supportare definizioni di layout di grandi dimensioni prodotte dalla configurazione dei layer utente.

metadata_script_postgres.sql
-- SV.0026.016 - Layout 2D: Layer Utente WMS + Shapefile
-- PostgreSQL -- script metadati (schema gwm)
-- Redattore: GSC  Data: 2026-06-26
--
-- Il campo layout della tabella gwm_detail_layouts viene ampliato
-- a TEXT (lunghezza illimitata).
-- PostgreSQL: ALTER COLUMN ... TYPE TEXT non richiede migrazione dati
-- (VARCHAR e TEXT sono internamente equivalenti, l'operazione e' istantanea).
-- ------------------------------------------------------------
 
ALTER TABLE test_gw48metadata.gwm_detail_layouts
    ALTER COLUMN layout TYPE TEXT;
metadata_script_oracle.sql
-- SV.0026.016 - Layout 2D: Layer Utente WMS + Shapefile
-- Oracle -- script metadati (schema gwm)
-- Redattore: GSC  Data: 2026-06-26
--
-- Il campo LAYOUT della tabella GWM_DETAIL_LAYOUTS viene migrato a CLOB.
-- NOTA: Oracle non consente ALTER TABLE ... MODIFY diretto da VARCHAR2 a CLOB.
-- E' necessaria la migrazione in 4 step senza perdita di dati.
-- ------------------------------------------------------------
 
-- Step 1: aggiungo colonna CLOB temporanea
ALTER TABLE GWM_DETAIL_LAYOUTS ADD (LAYOUT_TMP CLOB);
 
-- Step 2: copio i dati nella nuova colonna
UPDATE GWM_DETAIL_LAYOUTS
   SET LAYOUT_TMP = LAYOUT;
 
COMMIT;
 
-- Step 3: elimino la colonna originale VARCHAR2
ALTER TABLE GWM_DETAIL_LAYOUTS DROP COLUMN LAYOUT;
 
-- Step 4: rinomino la colonna temporanea al nome originale
ALTER TABLE GWM_DETAIL_LAYOUTS RENAME COLUMN LAYOUT_TMP TO LAYOUT;
metadata_script_mssqlserver.sql
-- SV.0026.016 - Layout 2D: Layer Utente WMS + Shapefile
-- SQL Server -- script metadati (schema gwm)
-- Redattore: GSC  Data: 2026-06-26
--
-- Il campo [layout] della tabella [gwm_detail_layouts] viene ampliato
-- a NVARCHAR(MAX) per supportare definizioni di layout di grandi dimensioni.
-- ------------------------------------------------------------
 
ALTER TABLE test_gw48metadata.[gwm_detail_layouts]
    ALTER COLUMN [layout] NVARCHAR(MAX) NULL;

Eseguire i passi nell'ordine indicato:

  1. Eseguire DR/script/<dbms>/data_script.sql — crea le tabelle applicative
  2. Eseguire DR/script/<dbms>/metadata_script.sql — aggiorna lo schema metadati GeoWeb
  3. Importare i file XML da DR/metadata/ tramite il Webadmin GeoWeb (Import/Export metadati):
    • gw_exp.classes gwd_mg_user_layer_shapefile+gwd_mg_user_layer_wms.xml
    • gw_exp.projects mg_user_layer.xml
    • gw_exp.themes MAPGUIDE USER LAYER E SCENARIO.xml
  4. Verificare le entry EhCache in ehcache.xml: retrieveValidUserWmsLayersForMap, retrieveValidUserShapefileLayersForMap
  5. Verificare nel Webadmin GeoWeb che i trigger MapGuideUserLayerShapeFileTrigger e MapGuideUserLayerWMSTrigger siano associati alle rispettive classi
  • gwusermanual/interface/interface/layer_utente_wms_e_shapefile/user_layer_shapefile_wms.1782481701.txt.gz
  • Ultima modifica: 2026/06/26 15:48
  • da giorgio.scali