Gli strumenti FileMaker a riga di comando

La piattaforma FileMaker è da sempre nota per la sua interfaccia punta-e-clicca, che da sempre ha consentito agli utenti e sviluppatori di sviluppare le proprie soluzioni senza dover utilizzare i codici cabalistici propri di altre tecnologie.
In realtà nel corso degli anni sono stati sviluppati da Claris una serie di strumenti a riga di comando, che permettono di eseguire in maniera più semplice una serie di operazioni sui nostri file. Nel 2024 abbiamo a disposizione quattro distinti strumenti:
- fmsadmin: lo strumento di amministrazione di FileMaker Server.
- FileMaker Data Migration Tool: per spostare il contenuto di un file in un clone
- FileMaker Upgrade Tool: per cambiare la struttura di un file partendo da un costrutto XML
- FileMaker Developer Tool: Esegue una serie di operazioni strutturali sul file
Perché usare la riga di comando in FileMaker?
Molti utenti tendono a evitare la riga di comando, considerandola complessa e meno intuitiva rispetto all’interfaccia utente grafica. Tuttavia, padroneggiare questi strumenti può rivelarsi estremamente utile, specialmente in scenari in cui si desidera automatizzare attività ripetitive, eseguire operazioni su larga scala o accedere a funzionalità non disponibili nell’interfaccia standard.
Vediamo ora, nel dettaglio, ogni strumento disponibile e il valore che può portare.
1. Fmsadmin: il comando essenziale per amministrare il server FileMaker

Uno degli strumenti più potenti per gli amministratori di FileMaker Server è fmsadmin
, un comando che consente di interagire con il server senza dover accedere all’interfaccia web. Questo comando permette di gestire database, utenti, backup e molte altre funzioni.
Accedere a fmsadmin
La prima cosa da sapere su fmsadmin è che è installato sulla macchina che ospita FileMaker Server, e può essere quindi utilizzato solo qui, oppure su server Ubuntu o Mac OS via SSH.
Per iniziare a usare fmsadmin
, è necessario aprire il terminale su macOS, o il prompt dei comandi su Windows (In Ubuntu normalmente si è già nella riga di comando). Poiché si tratta di uno strumento amministrativo, sarà necessario autenticarsi con un account dotato dei giusti permessi.
Esempio di comando per autenticarsi:
fmsadmin -u admin -p password command
Dove admin
e password
sono le credenziali dell’account amministratore della console di FileMaker Server.

Funzioni principali di fmsadmin
Grazie a fmsadmin
, è possibile eseguire numerose operazioni sul server, come:
- Verificare lo stato del server con:
fmsadmin status
- Cambiare le impostazioni del server con:
fmsadmin
SET SERVERCONFIG - Avviare o arrestare il server:
fmsadmin start server fmsadmin stop server
- Elencare i database aperti:
fmsadmin list files
- Chiudere o aprire un database specifico:
fmsadmin close file "database.fmp12" fmsadmin open file "database.fmp12"
- Gestire utenti e connessioni:
fmsadmin list clients fmsadmin disconnect client <client_id>
- Effettuare backup manuali:
fmsadmin backup
L’uso di fmsadmin
è particolarmente utile per la gestione remota del server e per automatizzare operazioni di manutenzione, riducendo il rischio di errori manuali.
In alcuni casi fmsadmin è l’unico modo per eseguire alcune operazioni: un esempio classico è l’eliminazione del fastidiosissimo backup automatico di FileMaker Server. Il comando fmsadmin disable schedule 1
(che disabilita il pestifero backup) è spesso oggetto di venerazione da parte di utenti esasperati.
2. FileMaker Data Migration Tool: migrazione efficiente dei dati
Quando si sviluppano soluzioni FileMaker, è comune dover aggiornare un database senza perdere i dati presenti. Il FileMaker Data Migration Tool (chiamato colloquialmente DMT o FMDataMigration, che è il nome reale dell’applicazione e del comando nel terminale) è progettato per trasferire rapidamente i dati da una versione precedente di un file FileMaker a una nuova versione, scegliendo se mantenere o sostituire calcoli, utenti, liste valori, font e indici.
Anche solo l’elenco completo dei parametri è molto interessante, perché mostra pezzi della struttura del formato di file di FileMaker (chi sapeva che FileMaker ha una procedura interna per mappare i font utilizzati alzi la mano):
Parametro | Descrizione |
-src_path | Percorso e nome del file contenente i dati. |
-src_account | L’Account utilizzato per aprire il file contenente i dati. Se non specificato viene valutato come Admin |
-src_pwd | La password utilizzata per aprire il file contenente i dati |
-src_key | La chiave Encrypt at Rest utilizzata per decrittare il file contenente i dati. |
-clone_path | Percorso e nome del file clone. |
-clone_account | L’Account utilizzato per aprire il file clone. Se non specificato viene valutato come Admin |
-clone_pwd | La password utilizzata per aprire il file clone |
-clone_key | La chiave Encrypt at Rest utilizzata per decrittare il file clone. |
-target_path | Il percorso e nome del file generato. Se non specificato, è <nome del file contenente i dati > migrated.fmp12, posizionato nella stessa cartella del file con i dati |
-force | Sovrascrive un file di destinazione esistente. Se esiste già un file con lo stesso nome, è necessario usare un nome diverso oppure includere questo parametro per forzare la sovrascrittura. |
-ignore_valuelists | Usa le liste di valori personalizzate del clone invece di quelle del file sorgente. |
-ignore_accounts | Usa nomi account, password e password di crittografia del clone invece di quelli del file sorgente. |
-ignore_fonts | Non effettua il controllo sulla mappatura dei font nei contenuti dei campi. |
-v (modalità verbosa) | Se l’account ha privilegi Accesso Completo, mostra un report dettagliato del processo di migrazione. Se ha solo il privilegio esteso fmmigration , in entrambi i casi mostra solo un report sintetico, senza dettagli sullo schema. |
-q (Modalità silenziosa) | Non fornisce alcun report. |
-rebuildindexes | Ricostruisce da zero tutti gli indici. (Introdotto nella versione 19.1.3) |
-reevaluate | Ricalcola tutti i campi calcolati memorizzati. (Introdotto nella versione 19.1.3) |
Come funziona il Data Migration Tool
Il DMT è liberamente scaricabile dal sito claris: per utilizzarlo servono:
- il tuo file di partenza chiuso
- un clone MAI APERTO del tuo file aggiornato
- un utente ad accesso completo oppure un utente con un privilegio esteso che consenta l’utilizzo di FMDMT
Se possibile i nomi dei file non dovrebbero contenere spazi, e l’utente dovrebbe sempre avere una password (possibilmente non troppo lunga o con caratteri strani).
Quando è tutto pronto, la sintassi base per migrare i dati è la seguente:
FMDataMigration -src_path "percorsocompleto/vecchio.fmp12" -clone_path "percorsocompleto/nuovo_clone.fmp12" -src_account nomeaccount -src_pwd password -clone_account nomeaccount -clone_pwd password
Questo comando:
- Prende i dati da
vecchio.fmp12
- Li inserisce in
nuovo_clone.fmp12
, che deve essere una copia vuota (clone) del file MAI APERTA PRIMA (è importante se no la procedura restituisce un errore) - Mantiene ID record, strutture di relazioni e impostazioni originali
- Esegue le operazioni necessarie (numerazioni, etc).
L’uso del DMT non solo velocizza in maniera drastica il passaggio dei dati (è diverse volte più veloce dell’importazione classica), ma riduce anche in maniera sostanziale le possibilità di errore umano, dovuto alla complessità delle operazioni di migrazione. Garantisce quindi una riduzione estrema del downtime e una transizione senza perdita di dati.
È un tool in costante aggiornamento. La versione 19.1.3 porta in dote i parametri -rebuildindexes e -reevaluate.
Il primo permette di ricostruire gli indici dei campi, assicurando che non ci siano corruzioni nascoste. il secondo è una funzione eccezionale che fa ricalcolare a FileMaker in fase di migrazione tutti i campi con inserimento calcolato. È una funzione pensata per tutti i casi in cui ci sono molti nuovi campi che devono essere riempiti: in questa accezione fa risparmiare un mare di tempo e di errori.
FileMaker 2025 ha aggiunto la possibilità di caricare plugin, migliorandone la funzionalità quando si lavora con database che utilizzano le funzioni dei plug-in.
3. FileMaker Upgrade Tool: aggiornare le soluzioni senza problemi… in teoria
FileMaker Upgrade tool è il più “sperimentale” e “da nerd” fra tutti gli strumenti a riga di comando. L’idea è visionaria: aggiornare la struttura di un file FileMaker partendo da un file XML contenente le sole modifiche. Questo approccio non toccherebbe i dati renderebbe incredibilmente efficiente e veloce l’aggiornamento delle soluzioni, in maniera analoga a quello che accade in altre tecnologie.
Ma qui il condizionale è d’obbligo, e non perché il tool sia ancora in sviluppo (la versione è rodata e stabile): il problema è nella generazione stessa del file XML.
Il file XML deve infatti contenere le sole modifiche da inserire nel file, che siano in aggiunta o in rimozione, seguendo la sintassi dei file XML generati dalla funzione “Salva copia come XML”. E dato che ancora non esiste un metodo pratico per crearlo automaticamente, l’unico modo è procedere a mano, con una procedura abbastanza articolata:
- si salva la copia XML del file di partenza
- si salva la copia XML del file con le modifiche
- si usa un tool XML esterno per identificare le differenze
- si modifica a mano il risultato per verificare che i tag siano giusti si per gli oggetti da aggiungere che per quelli da rimuovere.
Non esattamente semplice: normalmente il tempo impiegato e la competenza tecnica necessaria sono decisamente maggiori di quello che impiegherebbe il DataMigrationTool o addirittura un copia/incolla di oggetti e formati.
Inutile quindi? Pur non avendo un valore pratico in questo momento, potrebbe diventare un asso nella manica nel momento in cui ci fosse un tool che creasse il file XML automaticamente, partendo da due file FIleMaker. Oppure un modello AI addestrato a creare il file di modifiche partendo dai due file XML.
Intanto FileMaker 2025 ha portato una serie di modifiche al tool. Per prima cosa l’ha reso parte dell’installazione di FileMaker Server. Ha poi aggiornato le funzioni di aggiunta e sostituzione. Vediamo come:
- Lo strumento di aggiornamento di FileMaker è dotato di funzionalità avanzate di patching dello schema per gli elementi ReplaceAction e AddAction, nonché di una logica di applicazione delle patch ottimizzata.
- Per AddAction, oggetti del formato, opzioni del formato per i campi Numero, opzioni data per i campi Data e Indicatore data e ora e opzioni ora per i campi Ora e Indicatore data e ora.
- Per ReplaceAction, script, istruzioni di script, tabelle di base, campi, ricorrenze di tabella, relazioni, liste valori, funzioni personalizzate, menu personalizzati, set di menu personalizzati, account, set di privilegi, privilegi estesi, origini dati esterne, temi e directory di base (per i dati dei campi Contenitore memorizzati esternamente).
- La logica di applicazione delle patch utilizza questo metodo di fallback nella ricerca di elementi del catalogo corrispondenti: prima ricerca per nome e ID insieme; se questo fallisce ed è specificato anche un IDUU, cerca per IDUU; se questo fallisce, usa il primo membro corrispondente solo in base al nome.
- Lo strumento di aggiornamento di FileMaker utilizza lo stesso meccanismo di ricerca sia per DeleteAction che per ReplaceAction. In precedenza, DeleteAction cercava solo gli IDUU. Ora, ricerca gli IDUU e, se non viene trovata alcuna corrispondenza, esegue la ricerca alternativa di SourceUUID.
- lo strumento offre la possibilità di caricare plugin, migliorandone la funzionalità quando si lavora con database che utilizzano le funzioni dei plug-in.
4. FileMaker Developer Tool: un potente all-in-one
FileMaker Developer tool è lo strumento pensato per effettuare le operazioni fondamentali di deployment e controllo sul file senza usare FileMaker Pro.

Offre tutte insieme e con una unica chiamata una serie di funzioni che FileMaker Pro offre in differenti parti dell’interfaccia e… qualcosa in più.
Raggruppa infatti alcune funzioni presenti nel menù file:
- Copiare o duplicare file, come copia normale, copia compressa o copia come copia indipendente
- Salvare file come XML
- Recuperare o eseguire un controllo di coerenza su un file
- Caricare file su un host FileMaker Server
e le funzioni classiche del menù Strumenti [opzioni avanzate]:
- Rinominare un file singolo o una serie di file, aggiornando i riferimenti reciproci
- Criptare o decriptare file con Encrypt at Rest
- Rimuovere l’accesso full access dal file
- Abilitare la modalità chiosco di un file
Last but non Least ci sono le chicche per nerd: funzioni che non si trovano altrove, come:
- Interrogare la dimensione totale dei dati di record in una tabella, campo o indice
- Ottienere un elenco delle dimensioni dei dati o degli indici dei campi, dal più grande al più piccolo.
Ad esempio:
giulio$ /Users/giulio/Desktop/FMDeveloperTool --querySize /Users/giulio/Desktop/PPA_24_25_V12.fmp12 -target_tablename "Voeux"
Table size of Voeux is 4912252 bytes.
Sono dati interessanti che in alcuni casi aiutano molto lo sviluppatore. Quello che conta tuttavia è il cambio di scenario: si passa da uno scenario file-centrico manuale ad uno totalmente automatico. Prendiamo ad esempio il caricamento di un file su FileMaker Server. L’utente deve:
- aprire FileMaker Pro
- aprire il file
- eseguire il comando per caricare il file
Poter fare tutto con una singola chiamata alla riga di comando permette di non aprire proprio FileMaker Pro e di passare le operazione di deployment e mantenimento file anche in ambiente server.
FileMaker Server 2025 porta alcune novità, come il supporto per il comando reimposta file, e la possibilità di caricare plugin, migliorandone la funzionalità quando si lavora con database che utilizzano le funzioni dei plug-in.
5. Uso della riga di comando con ‘Invia Evento’
FileMaker permette di eseguire comandi di sistema direttamente dai suoi script grazie all’istruzione Invia Evento
oppure mediante plugin, come ad esempio BaseElement o MBS. Questo significa che è possibile interagire con altri programmi, eseguire backup automatici o persino avviare processi batch da FileMaker stesso.
Esempio per eseguire uno script batch su Windows:
Invia evento ["cmd /c my_script.bat"]
Questa funzione apre la porta a un’ampia gamma di automazioni, integrando FileMaker con strumenti esterni in modo dinamico.
Conclusione
L’uso della riga di comando in FileMaker consente di automatizzare operazioni, migliorare l’efficienza della gestione del server e aumentare il livello di controllo sulle soluzioni sviluppate. Approfondire questi strumenti permette di sfruttare appieno il potenziale della piattaforma, portando a un utilizzo più avanzato e produttivo.