Nuova patch per Phasis: modulo di configurazione


Come da oggetto, ecco una nuova patch per Phasis relativa al (mio) modulo di configurazione.
Rispetto alle altre volte ho deciso di scrivere qualche cosa perche’, pur avendo un impatto minimo su una installazione gia’ funzionante, richiede comunque delle modifiche al file di configurazione default.cfg.
Modifiche che comunque si riassumo in una aggiunta di diverse linee di commenti opportunamente formattate, e da qui’ la scarsita’ dell’impatto sul sistema.
Piccola annotazione: la patch sovrascrivera’ il vecchio file di configurazione, percio’ consiglio un backup prima di applicarla.
Il sistema di creazione dei controlli relativi alle opzioni e’ intelligente e completamente realizzato a runtime, a meno dei controlli fondamentali come i panel, i sizer e la struttura base del notebook.
Di seguito un piccolo help per capire come e cosa ho modificato nel file di configurazione.

Vecchio file:

# ------ Impostazioni di rete
[Server]
#Address=0.0.0.0
Port = 0

# ------ Impostazioni di linguaggio
[Language]
# Italiano = IT  ; English = EN ; Spanish = SP
spk = IT

Nuovo file:

# ------ Impostazioni di rete
[Server]
#sectAlias@@Rete
#sectDesc@@Impostazioni relative alla rete
#opt__Port@@Porta@@int@@tc
#Address=0.0.0.0
Port = 0

# ------ Impostazioni di linguaggio
[Language]
#sectAlias@@Lingua
#sectDesc@@Impostazioni relative alla lingua
#opt__spk@@Lingua@@str@@cb@@Italiano:IT%Inglese:EN%Spagnolo:SP
# Italiano = IT  ; English = EN ; Spanish = SP
spk = IT

Le modifiche sono piuttosto chiare, ed effettivamente si limitano a dei commenti (particolari).
I miei commenti sono di due tipi, uno relativo alla sezione (Server e Language nell’esempio) e uno relativo alle opzioni (Port e spk).
I commenti di sezione cominciano con “sect”, e proseguono o con “Alias” per una stringa piu’ user-friendly rispetto al nome della sezione, oppure con “Desc” per una descrizione stringata di cio’ che riguarda la sezione. Il separatore, chiaramente, e’ una doppia @.
I commenti di opzione sono un po’ piu’ complessi, dovendo contenere informazioni differenti: vediamo un po’ di spiegare la formattazione.
Un template di struttura puo’ essere il seguente:

opt__nomeopzione@@alias@@dato@@controllo[@@key:val%key:val]

Il campo opt__nomeopzione si spiega da se, come del resto il campo alias, mentre un discorso a parte va fatto per gli altri campi.
Il campo “dato” indica il tipo di dato che l’opzione puo’ contenere e che viene validato in fase di modifica del campo stesso, e puo’ essere “int” per un intero, “str” per una stringa o “bool” per uno 0 o un 1.
Il campo “controllo” indica il tipo di controllo che rappresenta l’opzione, e puo’ essere “tc” per un TextControl, “ml” per un TextControl multilinea, “rb” per un RadioBox e “cb” per un ComboBox.
I campi indicati fino a qui (opt__nomeopzione, alias, dato, controllo) sono necessari, mentre l’ultimo campo, indicato tra parentesi quadre nell’esempio di struttura e’ richiesto solo se il tipo di controllo e’ “cb”, e contiene una serie di coppie chiave/valore separate da il carattere %, che andranno a riempire in ComboBox.

E questo e’ quanto, in caso di altre delucidazioni contattatemi pure. Per chiudere, ribadisco che il modulo, per funzionare, ha bisogno di un file di configurazione di nuovo tipo, e che applicando la patch il vecchio file verra’ sovrascritto, percio’ fate un backup del vecchio prima di applicare la patch, se avete apportato modifiche.

Alla prox

,