Aalcuni clienti richiedono di modificare alcune label nei dettagli di classe ed altrove, con terminologia più familiare ai propri processi aziendali. Queste sono di fatto personalizzazioni, che sono salvate nei metadati, e che fanno deviare la configurazione installata, da quella standard del sottostante prodotto. Questo ha contributo nel tempo al proliferare di tante versioni differenti dello stesso prodotto.

La necessità è quella di permettere ai utenti configuratori di poter customizzare le labels per ciascun cliente, senza intaccare i metadati standard del prodotto.

Si è scelto di procedere all'implementazione estendendo l'attuale meccanismo del dizionario, le cui funzionalità sono di fatto già integrate in tutti i punti necessari (e non solo label del dettaglio di classe). La funzionalità è disponibile dalla versione 4.6.0.

  • [data_schema].geow_dictionary_custom_labels: tabella sullo schema dati, perchè contiene di fatto personalizzazioni del cliente. Campi:
    • dic_key Stinga (900) NOT NULL
    • dic_lang Stinga (3) NOT NULL
    • dic_value Stinga (900)
  • [metadata_schema].geow_dictionary_custom_labels: vista, basata sulla geow_dictionary_custom_labels, con stessi cmapi, ma sullo schema metadati. Questo in quanto le sovrascritture vanno a modificare i metadati del framework.

Analogamente al meccanismo del dizionario, basterà configurare la tripletta key-lang-value.

  • key è la stringa come da configurazione del prodotto base
  • lang è il codice del locale. Esempi: it, en, etc..
  • value è il valore della label custom che si vuole configurare

Qualora la stessa label, presente su moduli (od anche solo classi) differenti, abbia necessità di essere personalizzata in differenti maniere a seconda del contesto, bisogna creare differenti label nella configurazione dei moduli interessati, e mapparle coerentemente nella nuova tabella geow_dictionary_custom_labels.

E' prevista la possibilità di creare una classe geoweb in gestione della tabella geow_dictionary_custom_labels, per permettere a determinati utenti di configurare in autonomia le label

Script Oracle

oracle.sql
/*SCHEMA DATA*/
-- DROP TABLE "DATAGW".GEOW_DICTIONARY_CUSTOM_LABELS;
CREATE TABLE "DATAGW".GEOW_DICTIONARY_CUSTOM_LABELS 
(
  DIC_KEY VARCHAR2(900) NOT NULL , 
  DIC_LANG VARCHAR2(3) NOT NULL , 
  DIC_VALUE VARCHAR2(900) , 
  CONSTRAINT TABLE1_PK PRIMARY KEY 
  (
    KEY , 
    LANG 
  )
  ENABLE 
);
 
 
/*SCHEMA METADATA*/
-- DROP VIEW "METADATAGW".GWM_DICTIONARY_CUSTOM_LABELS;
CREATE OR REPLACE VIEW "METADATAGW".GWM_DICTIONARY_CUSTOM_LABELS AS
 SELECT GEOW_DICTIONARY_CUSTOM_LABELS.dic_key,
    GEOW_DICTIONARY_CUSTOM_LABELS.dic_lang,
    GEOW_DICTIONARY_CUSTOM_LABELS.dic_value
   FROM "DATAGW".GEOW_DICTIONARY_CUSTOM_LABELS;

Script Postgres

postgres.sql
/*SCHEMA DATA*/
-- DROP TABLE "DATAGW".geow_dictionary_custom_labels;
CREATE TABLE IF NOT EXISTS "DATAGW".geow_dictionary_custom_labels
(
    dic_key CHARACTER VARYING(900) NOT NULL,
    dic_lang CHARACTER VARYING(3) NOT NULL,
    dic_value CHARACTER VARYING(900),
    CONSTRAINT geow_label_overview_pkey PRIMARY KEY (dic_key, dic_lang)
)
 
 
/*SCHEMA METADATA*/
-- DROP VIEW "METADATAGW".gwm_dictionary_custom_labels;
CREATE OR REPLACE VIEW "METADATAGW".gwm_dictionary_custom_labels AS
 SELECT geow_dictionary_custom_labels.dic_key,
    geow_dictionary_custom_labels.dic_lang,
    geow_dictionary_custom_labels.dic_value
   FROM "DATAGW".geow_dictionary_custom_labels;
 

Script Sqlserver

sqlserver.sql
/*SCHEMA DATA*/
-- DROP TABLE "DATAGW".GEOW_DICTIONARY_CUSTOM_LABELS;
CREATE TABLE IF NOT EXISTS "DATAGW".GEOW_DICTIONARY_CUSTOM_LABELS
(
  [DIC_KEY] VARCHAR(900) NOT NULL,
  [DIC_LANG] VARCHAR(3) NOT NULL,
  [DIC_VALUE] VARCHAR(900),
  CONSTRAINT PK_GEOW_DICTIONARY_CUSTOM_LABELS PRIMARY KEY CLUSTERED 
(
    [KEY] ASC
)
)
 
/*SCHEMA METADATA*/
-- DROP VIEW "METADATAGW".GWM_DICTIONARY_CUSTOM_LABELS;
/*SCHEMA METADATA*/
CREATE OR REPLACE VIEW "METADATAGW".GWM_DICTIONARY_CUSTOM_LABELS AS
 SELECT GEOW_DICTIONARY_CUSTOM_LABELS.dic_key,
    GEOW_DICTIONARY_CUSTOM_LABELS.dic_lang,
    GEOW_DICTIONARY_CUSTOM_LABELS.dic_value
   FROM "DATAGW".GEOW_DICTIONARY_CUSTOM_LABELS;
 
  • custom/dictionary_custom_labels.txt
  • Ultima modifica: 2023/01/18 17:08
  • da giorgio.scali