Friday, March 21, 2008

No database? No server-side programming? No problem.

It's a little bizarre-- but for a long time now, I've been a web developer without a web development platform. I won't get into all the particulars (because they are stupid and boring), but after a year, I've finally been given access to our Intranet Filemaker Pro server. I guess some people felt I needed to "earn my wings" or something-- which is fine, but somewhat ironic.

So, no sooner do they give me access to the FileMaker Pro server, and I get my first assignment-- gather data from members of our department, put it in some type of web-accessible database system so they can update the info at will (so far, so good)-- and then display the information on our public web server so our customers can see it.

That's right-- the FileMaker Pro server is only accessible from inside our organization, but we need to get the data out on the public web server, where I have no server-side programming language or database access. At first blush, you could use FileMaker Pro's ability to export records into a simple HTML table-- but the customer wants a more sophisticated look and feel for the public, where they can select an item from a drop-down menu and all of the associated information for that item appears in a tabbed interface. So much for a long, boring table then.

FileMaker Pro also has the ability to export records as XML. XML is-- well, the idea is for it to be a universal data format. Once you get your data into XML, you can transform it/import it/do all sorts of things to it-- but you have to know a few exotic things, like XSLT or Javascript and the Document Object Model, to actually do it.

So, basically, I can export the database records into an XML file-- and then put the file on the web server. Then, I create a web page with Javascript that causes a visitor's web browser to load the XML file on the client-side, which takes the server environment completely out of the picture. As long as your customers are using modern browsers with Javascript, and they only need to browse and read data, not actually change it-- you're good.

No comments: