What does it do?

FMRPC makes FileMaker Pro and Go perform much faster over the Internet, and it lets FileMaker Go run plugins.

FMRPC stands for FileMaker Remote Procedure Call. FMRPC allows a FileMaker user to run intensive operations on the FileMaker Server and on demand. This happens without the need for any plug-ins, server-side queues or server-side schedules. In addition, FMRPC expands the functionality of the FileMaker clients (both Pro and Go), enabling them to do things they simply can’t do on their own (e.g., call server-side plug-ins and perform native JDBC/ODBC commands on hosted databases). Finally, FMRPC is totally secure and simple to install.

How does it work?

You can use FMRPC to perform four commands:

Perform Script lets you run any Custom Web Publishing (CWP) compatible script step and optionally return a result to the client. These commands are run in real-time, on the server and on demand.

Perform Script no wait does the same as Perform Script but doesn’t require the client to wait for a result or even stay connected to the file. This means one user can perform multiple asynchronous operations at the same time. Mind blowing, no?

Perform SQL allows the client to execute SQL commands on the FileMaker Server, and if for some reason JDBC is not enabled or available, FMRPC will try to convert the command to an ExecuteSQL function and run it that way.

Login which is used to orchestrate user authentication, giving the developer iron-clad security that can be configured when needed.

But wait, it gets better! FMRPC is:

Secure.

Supported, by the teams at Skeleton Key, and built on technology from 360Works.

Smart, by reestablishing the current context, current found set and current record that the user was on (and in) when it was called, which makes passing parameters really easy.

What can you do with it?

Make your mobile and remote FileMaker users more productive than ever.

There are a number of practical applications for FMRPC, but here are a few ideas:

Perform a replace across a large batch of records

Trigger the import of data on the server

Interact with a server-side plug-in, e.g. to run a credit card or interact with a web service

Optimize Virtual List array generation for a large set of records

Use the ExecuteSQL calculation to manipulate a large data set, e.g. to generate an aggregate value; create a list of sorted, grouped or distinct values; assemble a set of delimited or array data

Perform JDBC-supported commands which you can’t perform with the ExecuteSQL function, and which would otherwise require a SQL plug-in and/or a DSN and ODBC driver, such as INSERT records, UPDATE records, DELETE records, CREATE TABLE and DROP INDEX (which can be great for optimizing imports)

Tell the server to do things you don’t want your users to wait for, such as sending a large batch of emails, summarizing transaction data, deleting large batches of records, updating counters or audit logs and performing any action that might impact a large number of records.

And so on…

What does the FileMaker Community think of FMRPC?

“Congrats to Skeleton Key and 360works on delivering FileMaker elegance in FMRPC! We are excited to add this to the tool kit and to existing customer solutions.” said Adam Aronson, FullCity Consulting

“Nice! Thinking through a number of scenarios where this could be a game changer.” said David A. Knight, Angel City Data, Inc.

“Mark Richman from Skeleton Key and I have been brewing up a new product, FMRPC, since DevCon last year, and it is finally ready to show off! It’s now possible (and easy) to use FileMaker plug-ins in your iOS scripts! It also lets you trigger scripts on the server that run much, much faster than what you’re used to in FileMaker Pro.” said Jesse Barnum, 360Works