Back in July, I started work on FMWebFrame, a simple, lightweight web application framework for developing custom Web applications using the FileMaker API for PHP. The goal is to make it as easy as possible to develop dynamic Web sites and Web services that are powered by FileMaker databases. ( You can learn more here: http://fmwebframe.com )
Since then, I've continued to work on the project, and have used it to successfully develop several client solutions. However, for the most part I've had the project "on ice" while I waited for FileMaker 13 to ship. (I wasn't sure what the impact of 13 would be on the project.)
And now, with the FileMaker 13 platform officially released, I've started working on the project once again. At this point, it isn't so much a framework as it is an add-on to FileMaker's API. It extends the API by providing support for things like ExecuteSQL and QuickFind, by providing functions to make it easier to publish containers, and more.
Here's the current feature set:
- Adds support for ExecuteSQL. You can query a FileMaker database using a SQL SELECT statement (with the SQL specified directly in the PHP code itself).
- Adds support for QuickFind. Simply specify the layout to perform the QuickFind on and what to search for.
- Provides a function that can be used to upload a file to a container field. No plugins needed.
- Makes it much easy to publish the contents of containers, without the need for any "bridge" file, and avoiding ugly URLs. The URLs look something like this: http://yourdomain.com/60/fmBlog_FMWebFrame/Documents/16/Document/Monster-5.png In addition, it supports containers that are configured with external storage, caching, and a wide range of file types (images, PDFs, audio, video, etc).
- Provides a function that makes it easy to cache any result received via the API. Use it to cache find results, ExecuteSQL and QuickFind results, and so on. In many cases, caching significantly improves the performance of high-traffic Web sites.
- Provides a library of FileMaker-to-PHP translation functions, so you can use your knowledge of FileMaker functions to more quickly and easily write PHP code. For example, there's an "fmSubstitute" function that replicates FileMaker's Substitute function.
- It is easy to install. Just copy and paste one table, one layout, and three scripts to your database, and you're set.
- It is compatible with databases hosted on both FileMaker 12 and 13 servers.
- And while I still neeed to work out the licensing details, FMWebFrame will be available free of charge.
I still have quite a few things to do before FMWebFrame will be ready for prime time, but I'm hoping to release it in the next week or two.
Before I do, I was wondering if there are any other features that you'd like to suggest. Are there challenges that you're facing with the API that you think FMWebFrame might be able to help with?
Thanks in advance for your feedback and suggestions.