RonSmithMD

Odd Get (InstalledFMPlugins) Behavior

Discussion created by RonSmithMD on Feb 17, 2013
Latest reply on Feb 18, 2013 by RonSmithMD

Just in the last couple of days have I implemented the new plug-in updating process to streamline client support for PaperCutPro, my EMR/Practice management software. There is an odd behaivor or perhaps even a bug in the Get (InstalledFMPlugins) routine worth knowing about and which I don't recall being documented in the discussions. I have not found this in the FileMaker documentation either that I have seen so far.

 

My solution has a startup script set for the OnFirstWindowOpened File Option script trigger. I implement a Startup Plugin Check script as part of that startup routine which compares a plugin table in the database with the plugins returned by the Get (InstalledFMPlugins) function.

 

The odd thing is that the results of the Get (InstalledFMPlugins) is different when it runs as part of this triggered startup script as opposed to when it is run after the startup script has finished and during user interaction with the solution. Here is what I see when I do a Get (InstalledFMPlugins) after the startup has run and completed.

 

2empowerFM Developer Assistant v2.67;2.67.2.0;Enabled

2empowerFM v2.37;2.37.2.0;Enabled

360Works Plastic;1.84;Enabled

FaxPack;7.6;Enabled

FMGrowler;1.0.2;Enabled

InsideScan;2.5a16;Enabled

myFMbutler PrinterSwitch;2.1.0;Enabled

SMTPit Pro;SMTPit Pro 4.1.13;Enabled

Troi Activator Plug-in;3.1;Enabled

Troi Dialog Plug-in;5.5.7;Enabled

Troi Encryptor Plug-in;1.0;Enabled

Troi File Plug-in;6.1.1;Enabled

Troi Serial Plug-in;3.2;Enabled

Troi Text Plug-in;1.0;Enabled

Troi URL Plug-in;3.0;Enabled

Web Publishing;12.0v3;Disabled

xDBC Data Access Companion;12.0.3;Disabled

xmCHART;3.4.6;Enabled

 

Yet here is what the function returns during startup as verified using the Script Debugger.

 

2empowerFM Developer Assistant v2.67;2.67.2.0;Enabled

2empowerFM v2.37;2.37.2.0;Enabled

360Works Plastic;1.82;Enabled

FaxPack;7.6;Enabled

FMGrowler;1.0.2;Enabled

InsideScan;2.5a16;Enabled

myFMbutler PrinterSwitch;1.7.1.0;Enabled

SMTPit Pro;SMTPit Pro 4.1.13;Enabled

Troi Activator Plug-in;3.1;Enabled

Troi Dialog Plug-in;5.5.7;Enabled

Troi Encryptor Plug-in;1.0;Enabled

Troi File Plug-in;6.1.1;Enabled

Troi Serial Plug-in;3.2;Enabled

Troi Text Plug-in;1.0;Enabled

Troi URL Plug-in;3.0;Enabled

Web Publishing;12.0v3;Disabled

xDBC Data Access Companion;12.0.3;Disabled

xmCHART;3.4.6;Enabled

 

The two plugins that I would call your attention to are 360Works Plastic and myFMbutler PrinterSwitch. The reason that I had noticed these two first was when I checked the the user extension space where FileMaker Pro puts updated versions of the plugins as dictated by the plugins I have stored in the Plugins tabe, these two were repeatedly being replaced and the previous copies put into the Saved folder within the user extension space.

 

After a little more investigation, I found that I have indeed the older versions of 360Works Plastic and myFMbutler PrinterSwitch in the FileMaker Pro extensions folder than I do in the user's extension folder.

 

What this means is that during the triggered startup script the Get (InstalledFMPlugins) does not check the user extension space at all! Whether this is a bug or by necessity or design, I don't know, but it is something you need to know if you too are implementing an autoupdate of plugins as I am. The practical implications for me are that my routine would repeatedly download at startup any newer versions of the plugins if there were older versions present in the extensions folder contained in the FIleMaker Pro application folder itself. This seems not only a wast of bandwidth, but possibly a source of odd FileMaker Pro behavior or maybe even crashes. I won't be able to assess that untill this next week when the routines are deployed.

 

The safest way I see to avoid this is to make sure that if you implement plugin autoupdating by the new FileMaker Pro 12 methods, that you ensure that all the non-default FileMaker Pro plugins are not present in the application's extension folder.

 

Feedback and comments?

 

Ron Smith, MD, http://www.ronsmithmd.com

PaperCutPro, http://www.papercutpro.com

Outcomes