Product and version
FileMaker Server 14, 13 (and possibly 12, I don't have a copy to test on)
In a file hosted on FileMaker Server 13 or 14, when defining a stored calculation that uses a plug-in function, and that plug-in is installed and enabled in FileMaker Server the calculation evaluates as ?
How to replicate
I've been using the BaseElements plug-in for testing as it's open source. The issue also occurs with all other server compatible plug-ins I've tried.
1) Install and enable the plug-in in FileMaker Pro
2) Install and enable the plug-in in the FileMaker Server
3) In FileMaker Pro, open the Manage Database dialog for a file hosted on the FileMaker Server
4) Define a stored calculation in any table. I am using BE_JSON_Encode ( "key"; "value" ) as a test, but any plug-in should have the same effect, as long as the calculation is stored.
5) Exit the Manage Database dialog (the new calculation will evaluate)
6) Check the value of the calculation, it will be ?
There's no good workaround, only the hack under the "Using a Replace" heading of this ages old article from Six Fried Rice: Stored Calculations and FileMaker Plug-ins : SFR FileMaker Blog. That blog mentions that the correct fix is to install the plug-in on the server, but this no longer works on FileMaker Server 13+
Server plugins in FMS 13 and 14 do perform as expected when used in scripts that are performed on the server in schedules or via Perform Script on Server.
It looks like the issue might be occurring due to a change in how FileMaker Server interacts with server plugins. See below for the wording regarding server plugins in the FileMaker Server 11 admin console, which explicitly mentions that Server plugins will be used for field calculations that are performed on the server:
Whereas in FileMaker Server 13+ server plugins are only mentioned is relation to scripts:
If it is the case that the server behavior has changed, can we get confirmation from FileMaker Inc.?