Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

MySQL AND Filemaker Pro?

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?

like image 840
Eli Avatar asked Mar 24 '09 21:03

Eli


People also ask

Can you use SQL with FileMaker?

As a database developer, you can use Claris® FileMaker Pro® to create database solutions without any knowledge of SQL. But if you have some knowledge of SQL, you can use a FileMaker Pro database file as an ODBC or JDBC data source, sharing your data with other applications using ODBC and JDBC.

Does anyone still use FileMaker Pro?

We have data on 23,318 companies that use FileMaker Pro. The companies using FileMaker Pro are most often found in United States and in the Information Technology and Services industry.

Is FileMaker Pro being discontinued?

Support for all product versions will end on January 1, 2022 and customers will no longer be able to access the product. Customers are encouraged to migrate to Claris FileMaker Cloud 2.

What database does FileMaker Pro use?

Through Extended SQL Services (ESS), SQL databases can be used as data sources in FileMaker's relationship graph, thus allowing the developer to create new layouts based on the SQL database; create, edit, and delete SQL records via FileMaker layouts and functions; and reference SQL fields in FileMaker calculations and ...


3 Answers

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.

like image 51
emk Avatar answered Oct 06 '22 08:10

emk


We develop solutions with both FileMaker and PHP/MySQL. Our recommendation is to do the web app in a web app optimised technology like MySQL.

Having said that, FileMaker does have a solid PHP API so if the web app has relatively lightweight demands (e.g. in house use) then use that and save yourself the trouble of synchronisation.

FileMaker's ESS technology let's FileMaker use an SQL db as the backend data source, which gives you 2 options:

  1. Use ESS as a nice tight way to synchronise right within FileMaker - that way you'd have a "native" data source to work with within the FileMaker solution per se.

  2. Use ESS to allow FileMaker to be used as a reporting/data mining/casual query and edit tool directly on the MySQL tables - it works sweet.

We've found building a sophisticated application in FileMaker with ESS/MySQL backend to be very tricky, so whether you select 1 or 2 from above depends on how sophisticated and heavy duty that FileMaker usage is.

Otherwise, SyncDek has a good reputation as a third party solution for automating Synchronisation.

like image 39
DFCraig Avatar answered Oct 06 '22 07:10

DFCraig


I've been tackling similar problems and found a couple of solutions that emk hasn't mentioned...

  1. FileMaker can link to external SQL data sources (ESS) so you can use ODBC to connect to a MySQL (or other) database and share data. You can find more information here. we tried it and found it to be pretty slow to be honest
  2. Syncdek is a product that claims to allow you to perform data replication and data transmission between Filemaker, MySQL and other structured sources.
  3. It is possible to use Filemaker's Instant Web Publishing as a web service that your app can then push and pull data through. We found a couple of wrappers for this in python and php
  4. you can put a trigger in the FileMaker database so that every time a record is changed (or part of a record you are interest in) you can call a web service that updates a MySQL or memcached version of that data that your website can access.

I found that people like FileMaker because it gives them a very visual interface onto their data - it's very easy to make quite large self-contained applications without too much development knowledge. But, when it comes to collaboration with many users or presenting this data in a format other than the FileMaker application we found performance a real problem.

like image 31
Mark Streatfield Avatar answered Oct 06 '22 08:10

Mark Streatfield