How to install the BaseElements Plugin
You've downloaded the plugin file, and got a .fmx64 or a .fmplugin file, now what do you do?
Manual Installation in FileMaker Pro Client
Open the FileMaker application preferences, and go to the plugins tab. You'll see a dialog much like this one :
Click on the Reveal Plug-in Folder button at the bottom of that window. That will open a folder that you can copy the BaseElements plugin file into.
Restart FileMaker Pro, and when you re-open the dialog, BaseElements should appear in the list like the one above.
Manual Installation on FileMaker Server
In order for plugin functions to work in scripts that are run via Perform Script on Server or in scheduled scripts, you also need to install the plugin in FileMaker Server.
Having the plugin installed on the client doesn't make it work on server, and vice versa.
We highly recommend installing via a script, as per below, but you can also install manually. You need to be aware of :
- There are three different platforms, and two different locations for plugins on server. See here : https://help.claris.com/en/server-help/content/plugins-script-step.html
- Copying files to some servers ( like headless linux boxes ) is not simple and will vary across setups.
- Copying files with folders ( like linux or Mac ) can have permissions complications that render plugins unable to work.
So if you're needing plugins to run server side, we highly recommend you use scripted installs, and check at the start of every script run that the plugin you require is installed.
Scripted Installation for Client or Server
The scripted install is the best way to keep plugins up to date on any system that is being used constantly and where you want to check that the plugin is active before you let a user do tasks that require the plugin. You can use a script that runs via the On First Window Open trigger, to check for the latest version and install it if required.
If you're starting from scratch to build this yourself, it's not complex, but there are a few steps.
Create a FileMaker file ( or use a table in an existing file, or create a new table) with container fields to store all of the versions of the plugin you need to install. So one for Win32, Win64, Mac and Linux, or only one if you are only ever on a single platform. This could be a single record Plugins table you create just for this purpose, or could be global fields that you set in the file when it's not hosted.
All of the scripted methods require that the BaseElements plugin is first inside a FileMaker container field.
Getting the Plugin into a container field
The easiest way is to drag and drop the plugins into corresponding container fields, one for each platform. However, you can't unzip the Mac plugin on Windows or Linux and have it still work on the Mac. You either need to unzip and copy from a Mac or download the .gz version from the web, directly into a container field :
Installing a plugin direct from the web or from disk
The plugins are provided as .zip files for ease of download and decompression on all platforms. However, all versions are also available as .gz versions which are files that can be inserted into a container field via an Insert From URL step, and will be auto de-compressed by FileMaker automatically. This has the advantage that you can download the Mac BaseElements.fmplugin.gz plugin on Windows, and have it decompress into a working uncompressed bundle inside FileMaker Pro.
You need to have a file with container fields, and then run a script to do Insert From URL and set the container field where you want to store the plugin file. Examples of the urls to use in the Insert From URL script step are :
Mac: https://goya.com.au/files/beplugin/4.1.4/BaseElements.fmplugin.gz Win64: https://goya.com.au/files/beplugin/4.1.4/BaseElements.fmx64.gz Linux: https://goya.com.au/files/beplugin/4.1.4/BaseElements.fmx.gz
You can also use a file link if you've downloaded to your computer. An example file url would be :
Back to Scripted Install
Create a script that checks what version of the plugin is installed via the BE_Version function, and then uses the Install Plug-in File script step to install the right plugin for each platform if required. This script could be called on startup, or just prior to any plugin action that is being done.
For example, our sponsors get access to a sample file that does this, along with some easy to read Custom Functions for determining the current platform. This table and script could be added to any other FileMaker file via copy and paste.
How do I automatically check if the plugin is installed in FileMaker?
When you're running a script that requires a plugin, always check via the BE_Version or BE_VersionAutoUpdate functions, and check for a specific version.
You'll also know when the plugin isn't installed because calls to plugin functions return ? and you should be trapping for that as part of your error trapping in your scripting.
How do I manually check if the BaseElements plugin is installed in FileMaker Pro?
There are two places to check : in the FileMaker Application Preferences dialog, as per the above, and in the Calculation Editor dialog box, as per the screenshot below.
Note : there are NO BaseElements Plugin Script steps, so it won't add any steps to the Script Editor, BaseElements only adds Functions to the calculation editor.
How do I manually check that the plugin is installed on FileMaker Server?
As of FileMaker Server 19, you can only show plugins installed in FMSE, not in Web Publishing. The only way to know that a plugin is active in Web Publishing is to run a script that uses it.
Open the FMS Admin for the server, go to the Connectors tab, and to the Plugins section. As you can see in the screen shot below, I can install plugins via script in FMSE, but not in WPE. Plugins are enabled in both, and the FMSE engine lists on plugin that is installed, and it's active.
What do I do if the plugin doesn't install via script?
We've seen reports of lots of different versions of FileMaker Pro or FileMaker Server where the plugin fails to install properly via script, or when installed it reports no error, but the plugin either doesn't work, or the previous old version is still installed. This seems to occur only when trying to update an older plugin or to re-install to confirm the scripted process is working.
Unfortunately this seems to be a FileMaker error as it occurs with plugins other than the BaseElements plugin, and we've submitted bug reports to Claris about it. If you experience this issue, please add to the comments and upvote this issue on the Claris Community :
If a restart of either FileMaker Pro, or of the FileMaker Server engine ( fmsadmin restart fmse or cwp ), it seems that the only real fix for this is to manually remove any plugins and then repeat the scripted install. Installing BE via script when not overwriting an older plugin seems to work successfully.