Messa in produzione
Portare un’istanza in enforce, e le limitazioni note
Messa in produzione
enforce è il valore predefinito. Su un’istanza con script o altri sistemi che avviano moduli via REST, arrivaci per gradi, osservando il log prima di rifiutare qualcosa:
- Imposta
LAUNCH_VALIDATION=logper l’intera istanza (prima di aggiornare, in caso di aggiornamento). - Lavora in questa modalità per un po’ ed esamina il log: gli avvisi
would refuseindicano avvii che violano le regole; gli avvisiextravars differindicano moduli che calcolano qualcosa in modo diverso sul server (un timestamp, dati esterni). Decidi per ogni modulo se la cosa conta. - Passa quei moduli a
launchValidation: enforce. I chiamanti che inviavano valori non validi o extravars inventate ora ricevono un422con il motivo. - Quando ogni modulo si comporta come previsto, rimuovi
LAUNCH_VALIDATION(o impostalo aenforce) per l’intera istanza.
Limitazioni
La validazione all’avvio non copre ancora tutto:
- I moduli wizard non si possono rilanciare con modifiche, e un job wizard avviato prima della 7.0 non si può rilanciare con
enforce(non salvava i valori dei suoi passi). Il server MCP non può avviare moduli wizard. - La risoluzione dei segnaposto nel browser usa ancora una propria copia del codice del server; in rari casi limite (
__undefined__, apici dentro le espressioni) i due potrebbero risolvere un segnaposto in modo diverso.logrivela queste differenze. - Le espressioni
runLocalgirano nel motore JavaScript del browser nel browser e in una sandbox sul server; lo stesso codice produce lo stesso risultato, tranne quando dipende dal fuso orario o dalle impostazioni locali del browser.
Moduli wizard
Un wizard viene controllato passo per passo: il browser invia i valori di ogni passo, e il server controlla ogni passo che l’utente invierebbe rispetto al suo sottomodulo.
- Un passo viene escluso quando è
optionale l’utente l’ha saltato, oppure quando il suowhenè falso. - Un passo legge i passi precedenti tramite
$(__parent__.<step>.<field>), con i loro valori controllati. - Gli errori indicano il passo e il campo, come
<step>.<field>. - Con
enforce, le extravars vengono costruite sul server, ogni passo sotto il suodefaultModel. - I campi file non sono supportati in un wizard.