I progetti hanno introdotto il nuovo file directory.json contenente utenti, gruppi e permessi. Consente l’autenticazione, le restrizioni e i permessi su diverse parti dell’applicazione, attraverso le impostazioni o il codice. Vediamo i nuovi miglioramenti relativi all’uso di questo file nei progetti di server unificati.
Promemoria
In un progetto, gli utenti, i gruppi e alcuni permessi sono salvati nel file della directory. Per ricordarvi come funziona, potete rileggere questo post di presentazione o guardare questo video.
File di directory
Il file della directory del progetto è il file directory.json che si trova nella cartella delle impostazioni utente del progetto (cartella Settings accanto alla cartella Project del progetto in uso):
Il file della directory dei dati è il file directory.json che si trova nella cartella delle impostazioni utente per i dati (cartella Impostazioni accanto al file dei dati in uso):
Il file di directory dell’applicazione è il file directory.json che si trova nella cartella delle impostazioni utente dell’applicazione (cartella Settings all’interno della cartella Server Database dell’applicazione server fusa):
Incorporare il file durante il processo di compilazione dell’applicazione
Finora è stato compito dell’utente includere un file di directory nel server unito dopo il processo di creazione dell’applicazione. Se non si include un file di directory nel pacchetto dell’applicazione o accanto al file di dati, durante l’esecuzione tutti gli utenti utilizzano l’account Designer con tutti i suoi diritti.
Per rendere il tutto più sicuro e semplice, dalla v19R5 è disponibile una nuova chiave buildApp. Questa chiave incorpora automaticamente il file della directory del progetto nel server unito durante il processo di compilazione dell’applicazione:
<BuildApp>
<CS>
<ServerEmbedsProjectDirectoryFile>True</ServerEmbedsProjectDirectoryFile>
Si noti che questa nuova impostazione è disponibile anche nella finestra di dialogo Costruisci applicazione:
Comportamento lato server
Il comportamento attuale viene mantenuto: il Server 4D carica il file della directory dei dati se esiste. Altrimenti, viene caricato il file della directory dell’applicazione .
Ma d’ora in poi, in un progetto server unito, tutte le modifiche apportate a utenti, gruppi e autorizzazioni durante l’esecuzione vengono automaticamente memorizzate nel file della directory dei dati. Il file della directory dell’applicazione non viene mai toccato e può essere considerato come un file della directory di inizializzazione. Questo garantisce che la firma dell’applicazione rimanga al sicuro su macOS o consente di collocare l’applicazione server in una cartella di sola lettura senza alcun errore.
All’avvio del server, se non esiste un file della directory dei dati, vengono caricati gli utenti, i gruppi e le autorizzazioni memorizzati nel file della directory dell’applicazione, se esistono. Quindi, se vengono effettuate modifiche agli utenti, ai gruppi o ai permessi, queste vengono memorizzate nel file della directory dei dati.
Conti tecnici
Gli utenti e i gruppi sono spesso utilizzati come account tecnici dagli sviluppatori di 4D. Questo può essere fatto usando la casella degli strumenti o con il codice 4D, verificando il nome dell’utente corrente con Current user o l’appartenenza al gruppo con User in group. In questi casi, per assicurarsi che questi utenti e gruppi siano persistenti, è possibile controllarli all’avvio del server e le successive modifiche saranno automaticamente memorizzate nel file della directory dei dati!