Sharing the Load

The FileMaker platform is truthfully quite good at integrating with other systems. Between its Data API, support for JSON functionality, ODBC, and JDBC, and the myriad data formats it can translate, it’s able to communicate with a wide variety of outside systems. But that doesn’t change the fact that integration can be a little tricky at times.

Just recently, we were asked to change the process for drawing data from our Lullaboo client’s web site. The site allows prospective customers (parents of children in need of day care) to request and (at least tentatively) schedule a tour of the nearest campus. Previously, the web site team had provided us with a web page containing the JSON with the tour data, which we were drawing into FileMaker using the Insert From URL script step, followed by processing it into the necessary records in the database.

But now, we needed the web site to push each tour request to the database as it came in – which meant the web team would need to interact with FileMaker’s Data API. The web team created a custom plugin for WordPress to do so. Interacting with the API is (at least) a three step process: You request a session and receive a token; you perform the operation you want to perform (in this case, insert a record in a table); and you close your session.

That’s where we had to start exercising some teamwork. Over email, the web site developer and I coordinated troubleshooting the process. We ran into several issues (hint: when sending a JSON object to FileMaker through the data API, it has to be escaped properly), but were able to get it working. Everything is wonderful, and all we had to do was deploy.

Until deployment day. In theory, all we should have had to do was change the server address in the API endpoints. But it wouldn’t work, no matter how many times the web developer tried it. I was on standby, interacting with him over email, checking server logs to see what was going on. (They ended up having to switch hosting companies, because the cURL headers were being damaged by the server security protocols on the service they were using.)

Here’s the central point of the story: Had he been unwilling to be persistent, or had I been unwilling to be on standby (on a Saturday) to help, the entire effort would have fallen flat. Each of us had to be wiling to stick it out and work together, without blaming the other, in order to succeed.

Maybe that’s a principle worth holding onto.