Le novità di 4D v18 R5

Tradotto automaticamente da Deepl

Classi del modello di dati ORDA

Ambito e contesto di esecuzione delle funzioni

Per impostazione predefinita, in modalità client/server, le funzioni vengono eseguite sul server. Ora è possibile scegliere di eseguire alcune funzioni sul client grazie a una nuova parola chiave: local. Inoltre, è possibile scegliere quali funzioni pubblicare (o meno) come API per i client REST, grazie alla nuova parola chiave: exposed.

Selezioni di entità condivisibili

A volte si può desiderare di condividere una selezione di entità con un altro processo o di renderla disponibile a tutti i processi. Ad esempio, immaginiamo di dover eseguire una query complessa per trovare tutte le fatture scadute, consentire agli utenti finali di selezionarne alcune (o tutte) e inviare un sollecito di pagamento via e-mail. L’invio di e-mail è meglio farlo in un altro processo per evitare di bloccare l’utente. Invece di creare un elenco di chiavi primarie da passare all’altro processo, una selezione di entità condivisa può essere passata direttamente a un altro processo. Le selezioni di entità condivise possono anche essere allegate all’oggetto Storage per essere condivise con tutti i processi.

In breve, una selezione di entità può essere condivisibile o non condivisibile:

  • Una selezione di entità condivisibile può essere memorizzata in un oggetto condiviso o in una raccolta condivisa e può essere condivisa tra più processi o worker. Non consente l’aggiunta di nuove entità. Il tentativo di aggiungere un’entità a una selezione di entità condivisibile genera un errore.
  • Una selezione di entità non condivisibile non può essere condivisa tra processi, né può essere memorizzata in un oggetto o in un insieme condiviso. Il tentativo di memorizzare una selezione di entità non condivisibile in un oggetto o in un insieme condiviso provoca un errore. Tuttavia, una selezione di entità non condivisibile accetta l’aggiunta di nuove entità.

Editor di moduli

Anteprima CSS nell’editor dei moduli

È ora possibile visualizzare l’anteprima del rendering CSS finale nell’editor dei moduli. Nella barra degli strumenti è disponibile una nuova icona che consente di visualizzare il modulo con o senza il rendering CSS, mostrando anche come apparirebbe con un rendering CSS specifico su Mac o Windows. Per quanto riguarda la sovrascrittura delle proprietà in modalità CSS, nell’editor dei moduli viene visualizzato un nuovo tipo di schermatura (simile alle schermature per Metodo oggetto o Ordine di inserimento). Ora è facile vedere quali oggetti sono influenzati da un CSS.

Macro

Le macro sono ora disponibili nell’editor dei moduli. Con una macro del modulo, è possibile:

  • Modificare, eliminare o aggiungere una proprietà a uno o più oggetti.
  • Aggiungere o eliminare uno o più oggetti del modulo con il relativo metodo associato
  • Selezionare o deselezionare gli oggetti del modulo nell’editor
  • Visualizzare una finestra di dialogo modale per inserire un parametro al volo
  • Calcolare la posizione ideale degli oggetti del modulo e spostarli
  • Creare una classe CSS da un oggetto modulo da utilizzare come modello
  • Controllare che i percorsi delle immagini nel modulo siano validi
  • Aprire i file CSS nell’editor CSS invece di cercare i file su disco
  • Verificare che i riferimenti XLIFF abbiano la loro corrispondenza nei file XLIFF
  • e molto altro ancora!

Le macro del modulo sono disponibili nel menu contestuale. Le macro del database host vengono visualizzate per prime, seguite da quelle dei componenti. Per eseguire una macro è sufficiente fare clic sulla voce di menu. Per creare le macro dei moduli, è sufficiente dichiararle in un file formMacros.json al primo livello della cartella Sources del progetto.

Nuovo comando per aprire l’editor dei moduli

È disponibile un nuovo comando 4D per aprire un modulo nell’editor dei moduli. Questo può essere particolarmente utile per gli strumenti di analisi o introspezione. Il nuovo comando si chiama: MODIFICA MODULO.

4D per iOS

Collegamento profondo

Il collegamento profondo consente di condividere un URL. Facendo clic sull’URL si aprirà direttamente un record specifico in un’app 4D per iOS. In combinazione con le notifiche push, è possibile informare i venditori su un nuovo preventivo o gli agenti assicurativi su un nuovo caso. Un solo clic apre direttamente l’app e visualizza il record appropriato.

Sincronizzazione dei dati ottimizzata

Il processo di sincronizzazione dei dati di 4D per iOS è stato ottimizzato, garantendo una sincronizzazione dei dati fino a 25 volte più veloce.

Caratteristiche relative alla programmazione

Denominazione dei parametri per funzioni e metodi

Non è più necessario passare attraverso una variabile intermedia: ora è possibile assegnare un nome ai parametri e ai risultati quando si dichiara un:

  • metodo di progetto,
  • trigger,
  • metodo di database,
  • metodo di un modulo,
  • costruttore di classe,
  • funzione di classe.

Debugger remoto

Questa funzione consente di decidere dove eseguire il debug del codice del server (sul lato client o sul lato server).

Sono state aggiunte due nuove voci di menu (su entrambi i lati) per gestire il collegamento del debugger:

  • Attacca / Stacca debugger: Collega o scollega istantaneamente il debugger al client o al server.
  • Collega il debugger all’avvio: Collega il debugger all’avvio del client o del server.

Tenete presente che il debugger può essere collegato solo a una singola istanza di 4D alla volta. Ad esempio, se si cerca di collegare il debugger al server senza staccarlo dal client, viene visualizzato un messaggio di errore con informazioni sul proprietario del debugger.

Per aiutarvi a distinguere se il debugger o le finestre di errore provengono dal server o dal client, abbiamo cambiato l’aspetto di queste finestre.

Caratteristiche relative alla distribuzione

Personalizzazione della cartella cache di 4D per il server 4D unito

Se il vostro computer ospita un’applicazione server unita costruita con diverse versioni di 4D, potreste riscontrare dei problemi a causa della cartella di struttura 4D condivisa. Per evitare di condividere questa cartella di sistema tra applicazioni server unite costruite con versioni diverse di 4D, è ora possibile definire il nome della cartella durante il processo di compilazione dell’applicazione con il nuovo tasto buildApp per impostare la propria cartella di struttura.

Personalizzazione della cartella cache di 4D per i client 4D uniti

La connessione dell’applicazione remota a diversi server può talvolta comportare l’ottenimento di una cartella di risorse locali di grandi dimensioni nel sistema, che può richiedere tempo, volume e rete. Ora avete la possibilità di condividere la stessa cartella delle risorse locali tra tutti i server identici con la nuova chiave buildApp per condividere la cartella delle risorse locali.

Integrazione del journal senza abortire al primo errore

Quando si esegue 4D Server in produzione, tutto dovrebbe essere completamente automatico senza richiedere l’intervento di un amministratore. Ciò è particolarmente importante con l’aggiornamento automatico e il funzionamento in modalità Headless. Dopo un’interruzione di corrente o un arresto anomalo, piccoli errori nel journal potrebbero bloccare il riavvio automatico di 4D Server. Una nuova opzione consente ora di sopprimere i messaggi di errore non critici (ma di riportarli comunque in un registro), riducendo i tempi di inattività del sistema.

Posta elettronica (IMAP)

Ricerca e download di e-mail

La ricerca consente di recuperare un elenco di messaggi in base a criteri quali tutte le e-mail non lette o tutte le e-mail di una persona specifica nelle ultime 4 settimane. Il comando restituisce un insieme di ID di posta, che possono essere utilizzati direttamente dal nuovo metodo getMails per scaricarli.

Copiare, spostare e cancellare le e-mail

Sono state aggiunte tre nuove funzioni al trasportatore IMAP: copy(), move() e delete().

Casella di riepilogo

Migliorato il type ahead

Normalmente, una casella di riepilogo riceve eventi di pressione dei tasti solo in modalità di modifica. Tuttavia, ciò impedisce di utilizzarla per filtrare automaticamente l’elenco o selezionare una voce quando l’utente utilizza la tastiera e una casella di riepilogo non digitabile.

Ora, l’evento On before Keystroke viene generato non appena la casella di riepilogo ha il focus e viene digitato un tasto, anche se i dati non vengono inseriti in una cella. Questo permette a 4D di sapere quali tasti sono stati premuti e rende possibile (tramite programmazione) prendere decisioni come l’avvio di una nuova ricerca o la modifica della selezione corrente.

È stato aggiunto il nuovo comando Sta modificando il testo per aiutare a determinare se c’è un input in corso quando viene generato l’evento On before keystroke. Ad esempio, consente di rendere modificabile una casella di riepilogo, continuando a supportare le funzioni di digitazione in testa. Gli eventi On before keystroke e On after keystroke supportano ora le finestre di dialogo di aiuto del sistema per la selezione di diacritici come é, ä o caratteri asiatici. L’evento viene ritardato finché l’utente finale non seleziona i caratteri finali. Non è necessario gestirlo da soli.

4D Write Pro

Selezione del carattere per le tabelle decimali

Se avete documenti provenienti da diverse fonti, i numeri potrebbero non essere formattati correttamente per le vostre esigenze. Ora 4D Write Pro consente di specificare questa impostazione per ogni documento. È possibile scegliere di allineare i numeri a:

  • al punto,
  • alla virgola,
  • al primo separatore trovato (punto o virgola),
  • o al separatore definito dal sistema operativo.

Per ottimizzare la compatibilità (in particolare con MS Word), l’opzione #3 viene utilizzata per impostazione predefinita quando si creano nuovi documenti. Quando si migrano documenti di 4D Write a 4D Write Pro, viene utilizzato per impostazione predefinita il separatore definito dal sistema.

Gestione dei trattini morbidi

L’inserimento dei trattini morbidi è stato semplificato grazie a nuove azioni standard e a nuovi pulsanti nei widget dell’interfaccia di 4D Write Pro.

Sono disponibili due nuove azioni standard:

  • insertSoftHyphen
  • removeSoftHyphens

La funzionalità è stata aggiunta anche ai widget dell’interfaccia di 4D Write Pro, sia nel widget della barra degli strumenti che in quello della barra laterale.

Selezionare le pagine da mostrare

4D visualizza solo le pagine menzionate nella raccolta, nell’ordine della stessa. Ciò consente di ridurre l’insieme delle funzionalità per semplificare il lavoro dell’utente finale. Se sono necessarie solo le opzioni di stile, è meglio non visualizzare nemmeno tutte le altre funzionalità. Ora, il widget 4D Write Pro offre la possibilità di selezionare le pagine da visualizzare con il nuovo metodo del componente WP ShowTabPages. È sufficiente passare il nome del widget e un insieme di pagine da visualizzare quando si chiama il metodo.

Vista 4D Pro

Formule 4D nei fogli di calcolo

Il comando VP SET CUSTOM FUNCTIONS consente di creare funzioni personalizzate in 4D View Pro per eseguire una formula 4D. Non è necessario creare un metodo per utilizzare una semplice variabile in 4D View Pro, basta passarla come parametro alla formula. Inoltre, il comando semplifica la digitazione per l’utente finale, fornendo il testo di aiuto e i nomi dei parametri. Nelle strutture di grandi dimensioni, questo comando è molto più veloce del comando generico SET FIELD TITLES.

Volete saperne di più? Leggete tutti i post del blog su 4D v18 R5