Correva l'anno di FileMaker 8.5 e si affacciava timidamente dalla barra degli strumenti di FileMaker un nuovo oggetto di interfaccia: il visualizzatore web (o WebViewer).

L'accoglienza non è stata esattamente "festosa", anzi. Per molto tempo è aleggiato un misto di sospetto e incredulità verso questo “qualcosa di completamente diverso” nel mondo dei database (o meglio, degli ambienti di sviluppo rapido).

In realtà già a suo tempo faceva intravedere grandi possibilità, ma per molti aspetti era uno strumento ancora acerbo, oltre a non essere particolarmente integrato con gli altri strumenti di FileMaker.

Tante pietre e tanti giorni dopo, con la versione 16, il Visualizzatore Web ha raggiunto la piena maturità e la totale integrazione con gli altri strumenti di FileMaker, diventando uno degli strumenti di interfaccia più affascinanti e dal maggiore potenziale nascosto (nonché uno dei miei preferiti, se non si era capito).

Ma cos’è il Visualizzatore Web?

Cos'è il Visualizzatore Web

Il Visualizzatore Web è un oggetto di interfaccia, il che significa che è:

- presente sui formati;

- utilizzabile in modo usa;

- gestibile in modo Formato Scheda.

In pratica è uno strumento che consente di mostrare in un formato quasi tutto ciò che è visualizzabile in un browser web.

Non si tratta di un browser completo ma di uno strumento che sfrutta il motore di rendering standard del sistema operativo (ovvero WebKit su Mac OSX e Explorer/Spartan su Windows) per operare come un browser all’interno di FileMaker.

Su questo punto - importante -  abbiamo dedicato un approfondimento più tecnico in fondo all’articolo.

Rispetto agli altri oggetti di formato il Visualizzatore Web ha alcune particolarità:

• una volta caricato il contenuto rimane  sempre in primo piano, per cui eventuali pulsanti sovrapposti non funzioneranno;

• per la stessa ragione non può essere inserito in un portale, anche se funziona bene sia all’interno dei popover che con una struttura a schede o slide;

• può essere inoltre impostato con le maniglie di autodimensionamento (e quindi adattarsi alle dimensioni della finestra), sempre tenendo presente che viene posto in primo piano su qualunque altro oggetto di formato, indipendentemente dalla gerarchia impostata dall’utente.

Utilizzo di base

Inserendo un visualizzatore web nel formato mediante un semplice drag and drop dalla Barra degli strumenti in Formato Scheda appare come un semplice rettangolo con  una icona della terra al centro (figura 1).

 

Dato che rispetto a un browser normale manca la barra in cui inserire l’URL o il nome del sito, il visualizzatore web viene gestito mediante il motore di calcolo: il contenuto da visualizzare viene inserito - mediante calcolo o in maniera dinamica - direttamente nella finestra di opzioni (figura 2) e appare riportato nella finestra (figura 3).

FileMaker propone una procedura guidata per i servizi di utilizzo più comuni, come le mappe (alzi la mano chi non pensa per prima cosa ad una mappa di Google per identificare dove si trova un cliente o un fornitore), il tracciamento di spedizioni o portali di ricerche come Wikipedia.

Ovviamente possiamo sfruttare qualunque calcolo per impostare il Visualizzatore Web, integrando i valori proposti con i dati contenuti nei campi della nostra tabella. È possibile anche ricreare l'aspetto tipico di un browser posizionando sopra al visualizzatore un campo vuoto che sarà richiamato nel calcolo interno (figura 4).

 

Ad esempio, poniamo di voler mostrare una mappa di Google. Partendo dai soliti campi di un indirizzo il calcolo da inserire nel Visualizzatore è:

"http://local.google.com/maps?" & "q=" & /*Indirizzo=*/ tabella::indirizzo & "," & /*Città=*/ tabella::città & "," & /*Stato/Regione=*/ tabella::provincia & "," & /*CAP=*/ tabella::cap & "," & /*Paese=*/ tabella::nazione

Avremo così sulla mappa l’indirizzo inserito nei campi.

Possiamo inserire il Visualizzatore web in qualunque sezione all’interno del formato, tenendo conto che:

- se lo inseriamo nell’intestazione o nel piè di pagina - con un indirizzo legato a valori dei campi - viene mostrato il contenuto relativo al record corrente in modo Usa e Trova, mentre in Anteprima verranno mostrati i contenuti del primo record (per l’intestazione) o dell’ultimo record (in caso di pie di pagina).

- utilizzando la vista Tabella viene visualizzato solo nell’intestazione e nel piè di pagina.

- in una vista lista, il contenuto viene valutato e mostrato in contemporanea per tutti i record visualizzati la prima volta che accediamo al formato.

A questo punto, il gioco è fatto: possiamo iniziare a integrare nella nostra soluzione FileMaker le risorse web che ci interessano.

Oltre i confini del Visualizzatore Web

Il visualizzatore web può avere anche altri utilizzi. Ad esempio può mostrare dati presenti in FileMaker.

Può capitare infatti che ci sia un campo di testo molto lungo che l’utente deve necessariamente scorrere, ma che contemporaneamente non deve essere modificato in nessun modo. Per ottenere questo risultato, la soluzione più semplice è inserire un Visualizzatore Web che mostri il valore del campo, con un codice molto semplice:

"data:text/html," &

"<html>

<head>

</head>

<body>

<p style=\"font-family:source sans pro;\">" & RicavaComeCSS(tabella::testo) &  "</p>

</body>

</html>"

La prima riga “data:text/html,” definisce il tipo di contenuto, dato che non è una pagina web classica.

Il calcolo RicavaComeCSS(tabella::testo) mantiene invece le formattazioni del testo in FileMaker (come grassetti e corsivi).

Il tag style= gestisce il tipo di carattere con cui visualizzare il testo.

Allo stesso modo possiamo mostrare contenuti multimediali - come immagini o PDF - con un poco di fantasia e l’utilizzo di un protocollo riconosciuto sia da FileMaker che dai linguaggi web: la codifica Base64.

Con qualche modifica al codice precedente ricaviamo infatti:

Dichiara(

codice=Base64Encode ( tabella::contenitore );

"data:application/pdf;base64," & codice //& " type="application/pdf" width="100%" height="100%">"

)

che ci permette di vedere un PDF  in un Visualizzatore Web, proprio come se fosse in un browser, cosa molto utile per visualizzare un intero documento PDF in WebDirect.

La stessa tecnica può essere usata per visualizzare una immagine (o anche più immagini, magari un una galleria); su sistemi Windows possiamo ad esempio visualizzare in modo molto simile anche documenti Office.

Le tecniche descritte in questo articolo sono disponibili nel file di esempio, scaricabile compilando il form qui sotto.

 

Ovviamente questo è solo l'inizio di possibilità pressoché infinite, che continueremo a esaminare nei prossimi articoli.

Nel prossimo articolo sull'argomento vedremo come ricavare i dati mostrati e utilizzarli nella nostra soluzione, interagire via script con il visualizzatore web, e soprattutto interagire con il filesystem e con i costrutti web avanzati (JavaScript in primis).

Spoiler dall'articolo avanzato

È importante sottolineare che il motore di rendering non è il browser di default scelto dall’utente, ma fa riferimento direttamente alle librerie installate che il sistema operativo utilizza per visualizzare le pagine: non è quindi possibile modificarlo.

Il Visualizzatore Web mantiene quindi le limitazioni e le impostazioni del motore di rendering: ad esempio se JavaScript è disabilitato, non potrà essere utilizzato nemmeno nel Visualizzatore Web.

Capita quindi che a volte anche con diverse versioni dello stesso OS (come ad esempio Mac Osx 10.11 e 10.12) i risultati mostrati siano diversi perché cambiano le librerie di sistema.

Inoltre, su Windows le URL (in tecnichese “Uniform Resource Locator”, ovvero la sintassi con cui i browser cercano i contenuti, come gli indirizzi web) sono limitate a 2083 caratteri, perché è un limite di Internet Explorer.

Oltre al browser del motore di sistema, il Visualizzatore Web utilizza le applicazioni accessorie definite nel sistema per tutti gli altri casi (come posta elettronica, FTP, etc).

Cambiando record il contenuto viene mantenuto in cache da FileMaker.

Se si utilizza una struttura a schede o uno strumento di slide, il contenuto viene elaborato la prima volta che viene mostrata la scheda o slide che contiene il visualizzatore.

Nel prossimo articolo vi racconterò altri usi anche piuttosto originali del Visualizzatore Web. Curiosi?

Lo ammetto anche io sono curioso di conoscere come utilizzate il Visualizzatore Web, quindi aspetto i vostri commenti qui sotto o sulla discussione che ho aperto sul gruppo Facebook, FileMaker Developer Italia.

LASCIA UN COMMENTO

Please enter your comment!
Please enter your name here