What is RESTfmSync?
RESTfmSync is a solution for syncing data from FileMaker Pro or FileMaker Go to FileMaker Server via RESTfm.
What is RESTfm?
RESTfm is an easy way to get and send record data to FMS via web ( HTTP ) protocols in formats that make it easy to manage and parse inside FileMaker scripts. We use RESTfm because it gives us :
- Access to FMS over http so without any overhead of doing a FMP networking protocol for faster connections.
- A choice of data formats, so we can use whatever works best in each situation ( RESTfmSync uses a plain text format native to RESTfm, and easy to parse in FMGo ).
- A way to access FMS without any PHP coding so the same approach can work in any database.
So you can think of RESTfm as a translation engine. FMP or FMGo sends a request to RESTfm, either asking for record data back, or sending record data to be updated or added. RESTfm translates the request and sends it onto FMS in the correct formats.
So why use http instead of FMP networking?
RESTfmSync uses HTTP protocols to talk to the server, so you have less connection overhead.
We noticed that opening a FMS hosted file from FM Go over a slow connection can be time consuming, and there may be speed advantages to a HTTP based method that has a very low connection overhead. If you're syncing often, with small amounts of data ( a couple of records here and there ), then using FMP to FMS networking is going to spend most of its time opening and closing the files on FMS.
How does it work?
You need to already have RESTfm installed and running on your FMS box, and then follow the instructions in the setup section to add the sync code to your files.
Then you call the Main Sync script. Newly modified records on the client are sent to the FMS server, and any records that other users modified are pulled off the server onto your local copy.
What Features does it support?
RESTfmSync supports all field formats, including container fields and repetitions. Container fields are converted ( inside RESTfmSync ) to Base64, so RESTfmSync only runs in FileMaker Go/Pro 13 or later.
What might it support in the future?
We're working on a bulk data push method, that will speed up connections. Pull ( GETting records from the server ) happens in bulk, but at present push ( POSTing new records, or PUTting updates ) is one record at a time. RESTfm supports bulk data structures, and we're currently building support in RESTfmSync for it as well.
Can I try it out?
We don't have demonstration version of it available at present, but may consider this in the future.
How do I buy it?
If you purchase a copy of RESTfm, you get RESTfmSync included. RESTfm is licenced on a per server basis, so one copy of RESTfm on the server will support as many RESTfmSync clients as you need. There is no licence cost for RESTfmSync. You get full access to the code to implement and modify at your leisure.