This little check box in the FileMaker Server Configuration backs a lot of power. It
has been around since FileMaker Server Version 5.5 and it is deceptively easy
the way it looks here. What it does is it allows FileMaker Pro clients to
download updates for plug-ins automatically. Plug-ins, as you know, are
extensions written for the FileMaker application by developers. Many plug-ins
are crucial to custom-developed solutions and it can be cumbersome to have to
manually install updates for them on every single workstation. That's where this
setting comes in. It allows for those updates to be downloaded automatically.
But it does take a lot more work than simply checking this check box. It requires
three additional things; the proper files and the proper folder structure on the
FileMaker Server machine, ScriptMaker code in your solution and a copy of
FileMaker Pro on the workstation with the auto-update plug-in enabled. Let's
start with that folder structure. This is the FileMaker Server machine installed
on Windows. The folder structure looks the same on Mac right away. Inside the
Databases Folder on the same level as the FileMaker File that will have our code
to actually download the updates, we have an Auto-Update Folder. Each plug-in
needs to have its own folder named exactly like the plug-in itself inside that
Auto-Update Folder and each version of the plug-in needs to have its own folder
with just the version numbers as names. Inside those version folders you put the
plug-ins themselves and for best results, Mac version of the plug-ins should be
tarred. The most tricky part here is to make sure the names of the folders are
correct. On OS X you also need to make sure that the permissions on those
folders are set correctly. The owner needs to be FM Server of group FMS Admin
and it needs read, write and execute for both the owner and the group as a minimum.
With this set up properly, you now need to add code to your solution. That code
needs to check if the plug-in you want to update is installed on the workstation
and what version it is. It then needs to check the versions available on the
server and if there is a newer version available on the server, it needs to
download it to the workstation. That code looks somewhat like this. This is the
file that is hosted on FileMaker Server 10 as we can see from the header. Now,
you have to keep in mind that the file needs to be hosted on FileMaker Server
for this to work. What we have here are a number of records of plug-ins that we
want to check. These are the plug-ins that we use in our solution and you can
see this is the name of the plug-in, the version number, the minimum version
number that we require in our solution and then some additional settings. For
each plug-in we also have the exact version call very specific to the plug-in.
This is to call the external function that will ask the plug-in what it's current
version is and that basically differs from plug-in to plug-in. Now, what we have
here is a script that will loop through those records and evaluate what the
version is for every single plug-in that we encounter and then ask the server to
go find the plug-in and tell us what the versions are for that plug-in. We'll
have this file in the Work Files that comes with this tutorial. The most
important parts are this: basically what we do is we check in the local version
of FileMaker Pro if the auto-update plug-in itself is enabled, if it's installed
and enabled. This is something you can check manually here in the Preferences
plug-ins. This plug-in, which is part of FileMaker Pro and it's enabled by
default when you install FileMaker Pro, needs to be running. This is the plug-in
that is responsible for downloading any other plug-in. So we check if that
plug-in is actually enabled, if it's installed and enabled on the machine. If
not, then we bail out. And then through every plug-in that we have configured in
our records here, we go and evaluate what is the local version and what is the
server version. For that we use the auto-updated plug-in call that goes out to
the server and asks us find this plug-in by this name and give us the version of
that to plug-in. Now, the rest of the code will then evaluate or compare the
local version against the server version and download the plug-in if necessary.
A little note on the Auto-Update Parent Folder: FileMaker Server will always look
for it at the same folder level as the hosted file. In our example, the
auto-update plug-in file that has our code is here and the Auto-Update Folder is
right here. So if your file is in the Databases Folder, FileMaker Server will
look for an Auto-Update Folder at the same level. Now, if you're using FileMaker
Server to host multiple solutions, then you can use a specific Auto-Update
Folder for your specific solutions, meaning that you can also use different
versions of the plug-in depending on your solution. So if you're hosting a
solution, then you should put it in a sub-folder of the Databases Folder because
then you can have an Auto-Update File and an Auto-Update Folder specific for
that solution. If you then have a second solution, put it in its own folder
because then you can have a second Update File and a second Auto-Update Folder.
FileMaker Server comes with an example file that shows all of this and you'll find
it in the Examples Folder in the FileMaker Server Install. Right here in
FileMaker Server there's an Examples Folder where you will find an Example File
that does the same thing as the file that I've just shown you and has another
update folder that it can use. In the Documentation Folder you will also find,
you will find a PDF that describes the whole setup needed for the plug-ins
downloads to work.
FileMaker Server 10
Wim Decorte
US$ 99.95
6.5 hours - 97 Movies
Win Vista XP 2000,ME. Mac OS X
Ground / 2 day / Next Day
33950
850 In Stock
Apex Web Media ( Hyperteach ) P.O Box 398 Bolton BL7 9YS, United Kingdom. Tel: +44 (0) 1204 592071 Fax: +44 (0) 1204 592092 Email:
Apex Web Media ( Hyperteach ) 600 17th Street, Suite 2800, Denver CO 80202 Tel: Toll free 1866 402 1903 (USA) / 434 878 4158 Fax: 1 207 433 4356 Email: