MySQL AND Filemaker Pro?

Eli picture Eli · Mar 24, 2009 · Viewed 9.8k times · Source

I have a client that wants to use Filemaker for a few things in their office, and may have me building a web app.

The last time I used, or thought about, or even heard of, Filemaker was about 10 years ago, and I seem to remember that I don't want to use it as the back end of a sophisticated web app, so I am thinking to try to sell them on MySQL.

However, will their Filemaker database talk to MySQL? Any idea how best to talk them down from Filemaker?

Answer

emk picture emk · Mar 24, 2009

You may have a hard time talking them out of FileMaker, because it was actually a pretty clever tool for making small, in-house database applications, and it had a very loyal user base. But you're right--it's not a good tool for making a web application.

I had a similar problem with a client who was still using a custom dBase IV application. Fortunately, Perl's CPAN archive has modules for talking to anything. So I wrote a script that exported the entire dBase IV database every night, and uploaded it into MySQL as a set of read-only tables.

Unfortunately, this required taking MySQL down for 30 minutes every night. (It was a big database, and we had to convert free-form text to HTML.) So we switched to PostgreSQL, and performed the entire database update as a single transaction.

But what if you need read-write access to the FileMaker database? In that case, you've got several choices, most of them bad:

  1. Build a bi-directional synchronization tool.
  2. Get rid of FileMaker entirely. If the client's FileMaker databases are trivial, this may be relatively easy. I'd begin by writing a quick-and-dirty clone of their most important databases and demoing it to them in a web browser.
  3. The client may actually be best served by a FileMaker-based web application. If so, refer them to Google.

But how do you sell the client on a given choice? It's probably best to lay out the costs and benefits of each choice, and let the client decide which is best for their business. You might lose the job, but you'll maintain a reputation for honest advice, and you won't get involved in a project that's badly suited to your client.