At Databuzz we use plug-ins in many solutions that we develop – the BaseElements Plug-in plug-in has become a standard feature of most solutions we deploy (if you also use the BaseElements plug-in you should sponsor the plug-in). One of my favourite features of FileMaker Server 12 was the ability to be able to have a server side script schedule install and/or update a plug-in.
If you login to your FileMaker Server using the FileMaker Server Admin Console application and navigate to the Database Server > Server Plug-Ins tab (for FileMaker Server v12 you’ll find this under FileMaker Server Overview>Configuration>Database Server) you will see 2 options which are disabled by default:
- Enable FileMaker Script Engine (FMSE) to use plug-ins
- Allow Install Plug-In File script step to update Server plug-ins
If you’re going to be working with server side script schedules that use plug-ins you will need to enable both of these. If you attempted to install/update a plug-in using a server side script schedule and the Allow Install Plug-In File script step to update Server plug-ins was disabled you would get this error:
This plug-in could not be updated automatically. Error 3 (Command is unavailable (for example, wrong operating system, wrong mode, etc.))
Once you enable the Allow Install Plug-In File script step to update Server plug-ins option you will be able to install plug-ins successfully via a server side script schedule, however you might not think it is working at first. Plug-ins get saved to the following directories:
- Windows: [drive]:\Program Files\FileMaker\FileMaker Server\Database Server\Extensions\
- Mac OS: /Library/FileMaker Server/Database Server/Extensions/
Here’s a screenshot showing the contents of my Extensions folder:
You’ll notice there are 2 plug-ins installed: the BaseElements plug-in and the SMTPit Pro plug-in. However looking at the list of installed plug-ins in the Admin Console only shows the SMTPit Pro plug-in:
Even though the BaseElements plug-in does not appear in the list it is installed and loaded, as I can perform server side script schedules that use the plug-in successfully. The only way I’ve found to update the list is to restart the server machine – logging out and back in to the Admin Console and restarting the Database Server do not appear to update the list of plug-ins in my experience.
If you look at the Log Viewer after restarting the Database Server you will only see log entries for the plug-ins that are visible in the Admin Console as well:
Jun 10, 2015 8:59:25 AM Server Events Information 476 Plug-in enabled: SMTPit Pro SE
I’ve experienced this on both Mac and Windows servers with Server v12, 13 and 14. Once you restart the server machine the list of plug-ins will then be updated, but this can be a bit disconcerting the first time you use server side schedules to install/update plug-ins and don’t see any evidence of them in the Admin Console.