Components All New MacOS Windows Linux iOS
Examples Mac & Win Server Client Guides Statistic FMM Blog Deprecated Old

Plugin.SetFunctions

Sets the function list the plugin has.

Component Version macOS Windows Linux Server iOS SDK
Plugin 5.1 ✅ Yes ✅ Yes ✅ Yes ✅ Yes ✅ Yes
MBS( "Plugin.SetFunctions"; FunctionList )   More

(old name: SetFunctions)

Parameters

Parameter Description Example
FunctionList The new function list. "Version¶Functions"

Result

Returns OK or error.

Description

Sets the function list the plugin has.
By default plugin allows use of 3000 and more functions.
You can use this command to limit what functions are available to your solution. This avoids some calling a function you don't want to have, e.g. not allow Files.Delete call.

For FileMaker hosting of several clients with one server, we highly recommend to limit the available plugin functions via Plugin.SetFunctions function. You also should limit some functions like Files.Delete or System.Shutdown to be only called by certain user accounts and/or script. See Plugin.LimitFunction for this.

Version 11.5 allows wildcards, e.g. CURL.* to include all CURL functions.

Examples

Allow only two functions:

MBS( "Plugin.SetFunctions"; "Version¶Functions" )

A typical MBS Init script for server usage:

If [MBS("IsRegistered") ≠ 1]
    If [MBS("IsServer")]
        Set Variable [$r; Value:MBS("Register"; "test"; "Server"; 123; 123)]
        # limit to the commands you need
        Set Variable [$r; MBS( "Plugin.SetFunctions"; "IsRegisteredCURL.NewCURL.Perform..." )]
        # enable trace for errors
        Set Variable [$r; MBS( "Trace.SetErrorsOnly"; 1 ) ]
        Set Variable [$r; MBS( "Trace"; "/Library/FileMaker Server/Logs/MBS.txt" ) ]
    Else
        # register on client
        Set Variable [$r; Value:MBS("Register"; "test"; "5 seats"; 123; 123)]
    End If
End If

Use wildcards:

MBS( "Plugin.SetFunctions"; "Version¶Functions¶CURL.*¶Plugin.*" )

See also

Release notes

Blog Entries

This function is free to use.

Created 16th May 2015, last changed 29th October 2021


Plugin.SetErrorScriptTrigger - Plugin.SetLicenseKeyHidden