a) FileMaker Pro is a multi-user networked database architecture. Although it can be deployed with web-based clients, it doesn’t have to be, and the more full-bodied / robust deployment is where the individual users open a hosted database using FileMaker Pro, not a web browser.
b) A given database can have a layout that has a web viewer on it. There are two main ways of coding a web viewer: as a standard URL which reconciles to something that would typically appear in your web browser’s address bar (which, in turn, might be something simple like “http://www.google.com”, or might send along some data variables as is the case with a Google Maps url like this link; either way, what the web viewer renders when you do it that way is generally going to be code located ELSEWHERE, on some web server somewhere. The OTHER way is to code it as a “data URL”, which is also something you can do in a standard web browser (although you’d seldom have reason to do so): copy the following line and PASTE it into the address bar of your web browser and hit enter — this is a very simple data URL:
data:text/html, <html><head></head> <body> hello world </body> </html>
OK, that web page that you end up looking at is rendering code that exists nowhere other than in your web viewer; it is NOT rendering code that is located on some web server somewhere. Now imagine that instead of that short little snippet you had pasted in enough code to make your web browser render something complicated, full of CSS and Javascript and whatnot, and that what it actually did was generate pie charts based on javascript arrays of text values and their accompanying numerical values.
c) FileMaker’s web viewer can have its definition of its URL be a hardwired bit of text such as “http://www.google.com” or “data:text/html, <html><head></head> <body> hello world </body> </html>”, but it can also be a formula that RESULTS IN such a string, a formula that references field values. Thus, something like this:
“Google” & YourTable::Search String Text Field & “&btnG=Google+Search”
where if you type “hello world” into the field named Search String Text Field your web viewer reconciles to this URL:
http://www.google.com/search?hl=en&safe=off&q=hello+worldx&btnG=Search
At this point I assume you can see how useful it will be to be able to get my hands on enough Javascript to make the web viewer do charting based on values that are in FileMaker fields, using a data URL.
d) Back to the logistics of FileMaker. The database itself will reside on a host computer. The web viewer’s web URL, on the other hand, is parsed by and interpreted by the local user’s standard/default web browser (Safari on MacOS, Internet Explorer on Windows*****); and any external references are interpreted from the standpoint of the local user, not the standpoit of the machine hosting the database. Thus, while IF you happen to be using my computer and there is a file on my Desktop that is named “Sample.txt”, a web viewer with this URL would open that file: “file:///Users/AHunter3/Desktop/Sample.txt”; but if there is a file located on the FileMaker Server computer at (let’s say) /Library/FileMaker Server/Data/External Javascript Files/JS_Charts_demo/sources/jscharts.js, then from where you are sitting (at my computer, or for that matter at your own, or any other computer that can open this database) that path is nonsense, it can’t be reconciled from where you are sitting. Hence a reference embedded in the data URL of a web viewer, that says “yo, dude, there’s a bunch of external javascript in that jscharts file over yonder” simply isn’t going to work. It would work if FileMaker SERVER were doing the parsing and interpretion, but it isn’t. And, I should add, you (and I and other users) are not accessing the hosted FileMaker database at a file-level path such as \Server\Folder\FileMaker Database.fp7; instead FileMaker uses its own networking protocol and no portion of the file and folder structure of the FileMaker Server box can be seen by any other computer on the network.
e) However, a file that can be referenced from your location, my location, and anyone else’s location via a truly universal resource locator (URL) could be used. Thus, while " /Library/FileMaker Server/Data/External Javascript Files/JS_Charts_demo/sources/jscharts.js" cannot be referenced, “http://server.domain.com/Data/External%20Javascript%20Files/JS_Charts_demo/sources/jscharts.js” COULD be. Your local workstation could reconcile THAT kind of external file reference. Just not the other kind.
***** I should add that you, as the end user, do not perceive Safari or Internet Explorer to even be running; FileMaker simply (with your operating system’s permission) uses the rendering engine of the relevant web browser; the rendered result still appears to be in FileMaker, on the FileMaker screen. No actual web browser is involved except as a behind-the-scenes source of rendering technology.