FileMaker
Contents
Intro
This is just FYI intended for the core tech team. I did some research into the API for FileMaker and wrote up the following notes on technical architecture. I don't offer conclusions (yet). I haven't spoken to Kevin M. Cunningham yet (filemaker dev), and I don't discuss the possibilities for using DigiKam or Gallery.
The Picturing To Learn project currently uses a FileMaker database to record and administer all their data. We have two primary objectives to support their current operations (even improving their workflow if possible) while also exposing some amount of their data via the web. This article looks at the technical aspects of implementing these goals.
Product Requirements
FileMaker does support creating a website from the database. You would normally need to purchase their server product for this purpose. [1] Previously the "Advanced Server" product was required, but as of March 2008, it looks like the regular server product can listen to API calls [2]. The problem with using their server product at all is that it creates more product complexity in our infrastructure which means it's problematic to deploy and administer (e.g. it may package PHP and Apache which makes it hard to deploy extensions and patches along with our other infrastructure.) There are many open questions beyond cost and complexity such as performance and customization. In at least one source, it is stated that customizations of the product API are both not possible, and against the terms of the product license.
ODBC
It is possible to connect to the database using a local ODBC client [3] (on the same host as the db) however, for a lot of practical reasons (like the server is not a server class host, and we wouldn't want to get into master/slave replication), this will not work for us. So, we would need to use the Advanced Server product in order to use Filemaker as a db backend if we were using ODBC.
Other Options
http://www.iviking.org/FX.php/ is an open source library that uses the XML API for Filemaker to create a database abstraction layer. This greatly expands the ability to read/write to a FileMaker database using a number of FileMaker products beyond their server products. There is a good introduction and comparison of FX to the FileMaker API at http://jonathanstark.com/web_publishing_with_filemaker_and_php.php
Resources
From FileMaker
Resources at http://www.filemaker.com/support/technologies/php.html Documentation and Notes
- FileMaker Server 9 Getting Started Guide
- FileMaker Server 9 Custom Web Publishing with PHP
PHP Architect magazine published 2 feature articles during the FileMaker API for PHP Public Beta:
- FileMaker Pro for PHP Developers Part I
- FileMaker Pro for PHP Developers Part II
- PHP Tutorial and Sample Files
Videos and Web Seminars
- PHP Site Assistant Video Tutorial
- These 2 resources were created during the FileMaker API for PHP Public Beta:
- Listen to the PHP podcast.
- View the FileMaker and PHP web seminar.
Search Knowledge Base
View a list of common PHP questions and answers.
From Jonathan Stark
Here is a listing of the FileMaker API http://jonathanstark.com/filemaker_api_for_php_documentation.php
Others
Links for FX resources at iViking
Footnotes
[1] http://www.filemaker.com/support/technologies/web.html [2] http://sixfriedrice.com/wp/up-to-speed-with-the-filemaker-php-api/ [3] http://www.filemaker.com/support/technologies/odbc.html