3 posts in this topic
(posted on FileMaker Community also)
I have a client where we use the Base Elements plugin to transfer data to a web site.
The web site developer has given us an API, and we use the BE_HTTP_PUT_DATA command for this purpose.
This is used with FMS14 scheduled script.
Results are MOSTLY successful.
However, occasionally the script will hang. We have put a time limit on the server schedule, and it is supposed to abort if the time limit is passed.
Though the abort happens, it leaves the scheduled user running, and the only way to disconnect that "hung" user is to use fmsadmin restart fmse.
After much testing, it appears that somewhere there is a 600 second limit.
It looks like all instances of failure occur when it takes the web site longer than 600 seconds to return a result.
Most results return in 530 seconds or greater.
After emailing Nick Orr at Goya about this, he mentioned the curl option CURLOPT_TIMEOUT.
The base elements plugin has a command, BE_Curl_Set_Option.
I have found nothing anywhere in the system that declares this.
I could try to use the BE_Curl_Set_Option command.
However, it seems likely that something else in the system might be setting this.
Some other plugins are use by this system, including 360works Plastic 2.
Any ideas on where to look for this 600 second limit?
I have found the 24U plugin template to be quite useful in porting a plugin that was originally built for Windows, but one issue I've come across is that the function IDs need to match the existing Windows version instead of working sequentially.
In an attempt to make this happen, I added a `#define` for each of the plugin functions in FMTConfig.h, such as:
#define FUNCTION_1_ID 15007 Then I changed the lines in FMTemplate.cpp to read like this:
err = RegisterExternalFunction( FUNCTION_1_ID, FUNCTION_1_PARAMS, regFunction1Flags, FUNCTION_1_C_NAME ); ... UnRegisterExternalFunction( FUNCTION_1_ID ); .... (void) fmx::ExprEnv::UnRegisterExternalFunction(*pluginID, FUNCTION_26_ID ); One function, the second one, retains the default ID, so it reads
#define FUNCTION_2_ID 2 Anyone familiar with the template has probably already guessed what has happened. That second function is the only one that is useable in FileMaker. The rest of the functions have blank lines in the function list of the calculation dialog box.
I think this is related to the myplc.c and 24u_plist_compiler.sh files, but can't quite figure out what needs to be changed. I *think* I might need to edit FMTemplate.plc, but that doesn't seem right, since it hasn't been edited to this point and only includes the strings generation code for the first 10 functions (there are 26 functions at this point).
Just to try it out, I attempted to directly edit the strings file after the plugin was built, but this didn't help, or more properly, I wasn't sure what edits to make.
So, if I *need* to have my first function have a function ID of 15007 instead of 1, what else do I need to change?
You know a language that can reply as XML, and you would like to have your own "plugin?"
Here is my outline/proof of concept; example written in PHP: http://wethecomputerabusersamongst.blogspot.com/2013/10/execute-php-script-from-filemaker-with.html
There is also a contributed example using Ruby, NodeJS, ASP, or your favorite language that can deliver XML over TCP/IP( with some async approaches this may or may not time out. )
Nickenich, Germany - (February 24th, 2015) -- MonkeyBread Software today is pleased to announce MBS FileMaker Plugin 5.0 for Mac OS X or Windows, the latest update to their product that is easily the most powerful plugin currently available for FileMaker Pro. As the leading database management solution for Windows, Mac, and the web, the FileMaker Pro Integrated Development Environment supports a plugin architecture that can easily extend the feature set of the application. MBS FileMaker Plugin 5.0 has been updated and now includes over 3000 different functions, and the versatile plugin has gained more new functions:
For our Mac users we have now hot keys. You can define a key combination to launch a FileMaker script, even if FileMaker is not the active application. Our MountNotification functions allow you to run a script when a drive mounts or unmounts.
The MBS Plugin now helps finding errors in scripts. If you call the MBS function with an unknown function name, the error message now includes a suggestion for the right function name. We hope this helps finding typos. If a script runs and a function returns an error, the plugin will show a notification. This way you don't miss an error in your scripts. Please enable this feature for development using Trace.EnableErrorNotifications.
For DynaPDF we have new functions to create, modify and delete annotations. You can now create much easier preview images for pages and render whole PDF files to a folder of images. New functions allow to place text as watermark across a page.
Our functions for menus allow you to query the current FileMaker menu. Using our plugin you can execute menu commands from a script, hide or change the shortcut. For the menu command to create a database design report, we got a function to create a report automatically from a script.
The barcode functions can now calculate checksums for EAN and ISBN. The function Files.DiskInfo queries the size of a drive and the free space. We improved the TAPI functions for Windows to make and receive phone calls.
For webviewer we got a few new functions to query selected text, formatted text and the favorite icon. You can control the scrollbars and manage cookies. Finally we got a new example showing how to use a SVG drawing tool in FileMaker.
We updated a couple of libraries: DynaPDF updated to version 184.108.40.206, LibXL to 3.6.1, CURL to 7.39.0, GraphicsMagick to 1.3.20, libJPEG to 9.1, libPNG to 1.6.14, OpenSSL to 1.0.1j and PCRE to 8.36.
More details in the release notes. Please take the time to check our 300 example databases and check where you can use our plugin features in your solutions.
* Mac OS X 10.6 or later, and Intel processor
* Windows XP, Windows Vista, and Windows 7
* FileMaker Pro 9 to 13
Pricing and Availability:
MBS FileMaker Plugin 5.0 for Mac OS X or Windows is available directly from the MonkeyBread website with licenses starting at just $149 (USD). Not all functions are available in both versions - check specifications. A free trial download is also available. Meet us at the Filemaker Conference in Las Vegas.
Monkeybread Software: http://www.monkeybreadsoftware.de/
MBS FileMaker Plugin Website: http://www.monkeybreadsoftware.de/FileMaker/
Function Reference: http://www.mbsplugins.eu/
Download Free Trial: http://www.monkeybreadsoftware.de/FileMaker/download.shtml
App Logo: '>
Release notes: http://www.monkeybreadsoftware.de/filemaker/releasenotes.shtml
Located in beautiful Nickenich, Germany, MonkeyBread Software is a privately held company founded in 2000 by Christian Schmitz. MonkeyBread Software focuses on the Macintosh and Windows platforms. With over eleven years as a software developer, Christian's aim is developing unique and useful utilities, complemented by first-class customer support. Copyright 2000-2014 Christian Schmitz Software GmbH. MonkeyBread Software is a registered trademark of Christian Schmitz, Nickenich. All Rights Reserved. Apple, and the Apple logo are registered trademarks of Apple Computer in the U.S. and/or other countries. FileMaker Pro and FileMaker are trademarks of FileMaker, Inc. Other trademarks and registered trademarks may be the property of their respective owners.