Creating custom plug-ins
If you are a C or C++ programmer and familiar with calculations and scripts, you can create plug-ins. The plug-ins can take advantage of recursion and looping, or hook into other programming interfaces. To create a custom plug-in, you will need the FileMaker plug-in SDK.
To use plug-ins, users need to allow custom app files to install and enable plug-ins. For hosted files, the server administrator needs to allow the Install Plug-In File script step to update plug-ins installed on the server in Admin Console for FileMaker Server. FileMaker Cloud doesn't support plug-ins.
To prepare your custom plug-ins:
-
Using C or C++, create a plug-in file.
The plug-in extension must be .fmx64 (Windows), .fmplugin (macOS), or .fmx (Linux).
-
Compile and test the plug-in.
Though digitally signing your plug-in is optional, users will be asked whether to permit an unsigned plug-in to load. See Changing permitted hosts and plug-ins settings.
-
Install the compiled plug-in file in a container field in your custom app. See Installing plug-ins.
-
(optional) Set up the custom app to check the version of installed plug-ins and update them if needed. See Plug-in update example.
To make plug-ins available in a file, users need to:
-
Enable and configure plug-ins in the Settings dialog. See Changing plug-in settings.
-
(optional) Select Allow Solutions to Install Files in the plug-in settings to have plug-in updates installed automatically. See Plug-in update example.
-
Do one of the following:
-
To use a function provided by the plug-in, sort the list of functions in the Specify Calculation dialog box by type. Under the name of the plug-in, choose a function.
-
To use a script step provided by the plug-in, sort the list of script steps in the Script Workspace by category. Under the name of the plug-in, choose a script step.
-
Notes
-
For security reasons, system administrators might require users to disable Allow Solutions to Install Files. Contact the system administrator at your customer site for more information.