FileMaker 13: benvenuto WebDirect

Condividi su facebook
Condividi su twitter
Condividi su linkedin

WebDirect è una delle nuove feature introdotte con FileMaker 13, ed è probabilmente la più importante.

Si tratta in breve della nuova versione della Pubblicazione Web Immediata (IWP). Faremmo però un grave torto alla FileMaker Inc. descrivendo in maniera così riduttiva questa nuova importante caratteristica di FileMaker 13. Pur sostituendo la IWP, WebDirect costituisce il primo passo verso la realizzazione di un'architettura in grado di realizzare vere e proprie Web Applications.

Con l'introduzione di questa nuova feature, FileMaker 13 si porta infatti allo stesso livello delle varie piattaforme con cui realizzare moderne WebApps. Non va però dimenticato che con FileMaker sono possibili anche la già nota architettura “tradizionale” client/server, quella web “pura” e quella da device mobili. Si completa quindi quella traversata del Mar Rosso iniziata con l’introduzione degli stili basati su CSS per i formati di FileMaker 12. Una strada lunga e non priva di difficoltà che finalmente si apre ad un utilizzo web maturo.

Che cos’è WebDirect

Come accennato nell'introduzione, WebDirect prende il posto della Pubblicazione Web Immediata nel panorama delle modalità di utilizzo di FileMaker. La novità principale è nell'esperienza utente, ora più simile a quella fruibile in modalità client/server, aprendo cioè i file con una copia locale di FileMaker client.

Per i meno esperti in materia:  WebDirect rappresenta una nuova modalità di utilizzo di una soluzione realizzata in FileMaker. Per disegnare le nostre soluzioni avremo comunque bisogno - come prima - di una copia di FileMaker Pro o FileMaker Pro Advanced con la quale definire tabelle, campi, formati e script.  La novità è che al momento di utilizzare questa soluzione potremo optare per l'utilizzo tramite WebDirect, oppure tramite client.

Ovviamente, la cosa riguarda solo le soluzioni aperte in rete, non localmente, e richiede l'utilizzo di FileMaker Server 13. La parte rivoluzionaria di WebDirect è che - a differenza della precedente Pubblicazione Web Immediata - NON richiede accorgimenti elaborati per garantire una buona esperienza utente. Utilizzando un browser web, WebDirect fornisce all'utente un'esperienza del tutto simile a quella con il client locale, proponendosi quindi come una vera e propria WebApp.

Come funziona

Non mi voglio dilungare sugli aspetti tecnici dei meccanismi under the hood utilizzati da WebDirect. Tuttavia, conoscere a grandi linee le interazioni tra i componenti è fondamentale per sapere cosa aspettarsi, ed evitare che le nostre soluzioni vengano penalizzate da un errato utilizzo delle nuove feature.

FileMaker WebDirect gira all'interno di un browser web, e utilizza le seguenti tecnologie:

  1. HTML5 per definire la struttura delle pagine;
  2. CSS3 per controllarne il formato;
  3. JavaScript per gestire le interazioni con l’utente;
  4. HTTP/HTTPS come protocollo di comunicazione tra browser e server web.

Si tratta quindi di standard web solidi e ampiamente riconosciuti.  Alcuni di essi (HTML5 e CSS3) sono ancora in corso di sviluppo e vengono implementati in maniera differente a seconda del browser, ma il punto fondamentale è che si tratta di tecnologie standard. Di conseguenza, eventuali miglioramenti apportati a queste tecnologie si rifletteranno immediatamente sulle nostre soluzioni WebDirect.

L'architettura di WebDirect collega quindi due ambienti: il browser web e FileMaker Server.

All'interno di FileMaker Server abbiamo:

  1. Server database,  che si occupa di tenere aperti i file, gestirne dati, formati, script, sicurezza ed integrità dei dati, e di renderli disponibili a tutti i tipi di client (FileMaker Pro, FileMaker Go e FileMaker WebDirect)
  2. Web Publishing Engine: si occupa di “tradurre” dati, formati, etc., provenienti dal server database in HTML5, CSS3, JavaScript, e dati per il browser web.

WebDirect-1

FileMaker Server lavora insieme al server web (IISS su PC o Apache su Mac) che si occupa di comunicare col browser web ed inviargli tramite HTTP o HTTPS quanto elaborato dal WPE. Una volta arrivato al browser, il codice HTML5, CSS3, e JavaScript generato dal WPE viene “renderizzato” per creare la pagina web vista dall'utente, ed è in grado di catturare le azioni dell'utente ed inviarle al server database per la processazione.

L'architettura di WebDirect in realtà non è troppo dissimile da quella utilizzata in precedenza per la Pubblicazione Web Immediata, che prevedeva le stesse componenti e lo stesso flusso di informazioni. La differenza è nel modo in cui il Web Publishing Engine genera le pagine web (utilizzando HTML5, CSS3, JavaScript), ma la vera novità sta nel modo in cui viene gestita la connessione HTTP/HTTPS tra browser e server. L'interazione utilizzata da FileMaker WebDirect prende il nome di interazione implicita (implicit interaction model). Tralasciando gli aspetti tecnici più sottili, l'interazione implicita consiste nel fatto che la connessione tra server e browser rimane sempre attiva, a differenza di quanto avveniva in precedenza.

Le ricadute sono enormi: l'esperienza dell'utente WebDirect è del tutto analoga a quella dell'utente che si collega con FileMaker Pro o FileMaker Go. I dati vengono salvati semplicemente cliccando fuori dai campi, vengono aggiornati quando altri utenti apportano modifiche, i campi calcolati si aggiornano in diretta, la formattazione condizionale si aggiorna al mutare delle condizioni.

Cosa accadeva invece prima? L’esperienza utente era quella tipica del web tradizionale: la pagina web veniva generata, ma una volta generata, tale rimaneva. Vale a dire, la pagina non si aggiornava in base ai dati immessi dagli utenti, e la scrittura dei dati nel file richiedeva un'operazione esplicita di salvataggio.

In sostanza, con WebDirect si realizza un thin client, per quanto con alcune limitazioni. Una feature fortemente richiesta da anni dalla comunità degli sviluppatori FileMaker.

Come si usa

Come accennato prima, FileMaker WebDirect è utilizzabile solo tramite FileMaker Server, nel quale va attivata l'opzione Attiva FileMaker WebDirect.

WebDirect-2

L'utente che vuole aprire una soluzione tramite WebDirect può andare alla home page di WebDirect con

http://<IP del server>:<numero porta>/fmi/webd

(si usi https:// in caso di criptazione SSL)

dove trova elencati i database disponibili con WebDirect.

Analogamente a quanto avveniva in precedenza con la IWP è possibile specificare un database:

http://<IP address>:<Port number>/fmi/webd#<database name>

o anche database, layout, etc.:

http://<IP address>:<Port number>/fmi/webd#<database name>&lay=<layout name>&viewstyle=<view>&record=<record number>&mode=<mode>

E' infine possibile creare ed utilizzare una home page custom, che sostituisce la home page di default. Nel caso di WebDirect il file si chiama fmwebd_home.html.

I browser supportati sono Internet Explorer 9, Internet Explorer 10 e Chrome 27.x su Windows. Safari 6.x, Safari 7.x Chrome 27.x su Mac.

Limiti e cautele

I limiti di WebDirect sono legati al fatto che, malgrado il pregevole lavoro fatto da FM Inc., stiamo pur sempre utilizzando un browser e non un client dedicato. Questo implica che alcune funzioni non sono supportate. Altre operazioni invece vanno fatte in stile web anzichè in stile FileMaker.

Tra le funzioni non supportate vanno annoverate:

  • L'interazione con la struttura del database. L'utente WebDirect può solo usare una soluzione: è in grado cioè di interagire con i dati, ma non di modificare formati, script, etc.;
  • La visualizzazione in modo Tabella;
  • I menù personalizzati;
  • Alcuni stili di testo e i tabulatori nel testo;
  • I trigger OnLayoutKeystroke e OnObjectKeystroke;
  • Vari step di script, tra cui il Anteprima, Stampa, Salva a excel o a pdf (ahi!), Controllo ortografico;
  • L'autocompletamento basato sui valori del campo o di una lista.

Le cose principali da fare "in stile web" sono:

  • Gestione delle finestre multiple. Con WebDirect è possibile aprire nuove finestre, cosa non consentita in IWP. La nuova finestra viene in realtà aperta nella stessa finestra del browser, per cui va gestita accuratamente per evitare spiacevoli confusioni.
  • Gli oggetti posti dietro altri oggetti non sono cliccabili, una pratica diffusa nel disegnare pulsanti in FileMaker "desktop".
  • WebDirect intercetta i click e gli input di tastiera dell'utente ma sempre attraverso una pagina web. Di conseguenza, può capitare che l'evento venga prima intercettato dal browser web (per esempio, l'utente digita sul tasto tab e finisce nella barra degli indirizzi del browser).  Analogamente, i click intercettati come script triggers agiscono in WebDirect solo dopo che il click è avvenuto, mentre nella versione desktop abbiamo triggers pre e post click.
  • L'allineamento del testo nei campi è sempre in alto, mentre nei campi formattati come liste o menù l'allineamento è al centro (in senso verticale).
  • Attenzione agli script che utilizzano una selezione del contenuto di un campo:  WebDirect non può sapere quale selezione sia stata fatta. Va quindi usata l'istruzione Imposta selezione per poter utilizzare comandi tipo taglia, copia, incolla, cancella, inserisci testo, trova record corrispondenti, etc.

Abbiamo infine una serie di cose che si possono fare, funzionano, ma possono creare problemi di performance. Questo è dovuto al fatto che usando WebDirect tutto il lavoro viene fatto da FileMaker Server, diversamente da quanto accade con FileMaker desktop e Go, che si fanno carico di una parte del lavoro. Questo riguarda anche ogni click o input da tastiera, che viene infatti spedito da WebDirect al server.

E' preferibile evitare l'uso del trigger OnObjectModify: ogni carattere che viene digitato attiva lo script legato al trigger che a sua volta deve comunicare con FM Server, deteriorando quindi la performance. In maniera analoga si consiglia di limitare il numero di oggetti, immagini ed interazioni per ciascun formato dato che tutto il peso ricadrà sul server, con possibile deterioramento delle prestazioni.

Un'occhiata al prodotto finale

Solo due righe per lasciar posto alle immagini, che sono veramente impressionanti. Ecco lo screenshot della stessa soluzione, aperta sia tramite un client locale che attraverso WebDirect.

Prima la lista dei records:

WebDirect-3

E poi la scheda.

WebDirect-4

Infine, un'altra scheda col calendario attivato su un campo data.

WebDirect-5

La somiglianza tra le due versioni è veramente notevole, e anche il feeling dell'utente è paragonabile alla versione desktop.

Quindi complimenti, FileMaker, Inc. Ottimo lavoro!

Giuseppe Pupita

Lascia un commento

Prendi la corsia preferenziale e risolvi i tuoi problemi di sviluppo FileMaker!

Risorse gratuite

Guru Corner

Altri articoli di Giuseppe Pupita

Altri articoli:
,

5 motivi per cui DEVI passare a FileMaker 19

Dal mese di maggio 2020, Claris® ha rilasciato FIleMaker 19, l’ultima versione “numerata” dell’azienda di Santa Clara.

Ad ogni rilascio di nuova versione da anni ricevo l’immancabile domanda: 

VALE LA PENA AGGIORNARE?

Solitamente rispondo con un diplomatico “dipende dalle tue esigenze”.

Questa volta invece sono categorico: DEVI AGGIORNARE a FileMaker 19.

LEGGI...

Ultimi articoli

5 motivi per cui DEVI passare a FileMaker 19

Dal mese di maggio 2020, Claris® ha rilasciato FIleMaker 19, l’ultima versione “numerata” dell’azienda di Santa Clara.

Ad ogni rilascio di nuova versione da anni ricevo l’immancabile domanda: 

VALE LA PENA AGGIORNARE?

Solitamente rispondo con un diplomatico “dipende dalle tue esigenze”.

Questa volta invece sono categorico: DEVI AGGIORNARE a FileMaker 19.

Leggi...