BaseElements Plugin on FileMaker Server

BaseElements Plugin is compatible with FileMaker server, with some caveats :


Server Compatible Functions

There is some distinguishing inside the plugin as to which environment you're running under, either Pro, WebDirect, FMS or Go.  Some functions will return error 3 when called on platforms they do not work, on but not all functions can be relied on to work in every environment.

You need to be aware that some functions don't make sense, and therefore shouldn't be called from some environments.


BaseElements Plugin and Single threads

The BaseElements plugin is not currently coded as "thread safe" for all functions.  An instance of the plugin has a single store of temporary storage that it's using during and in between operations ( things like storing the SMTP settings, before the SMTP send, or the HTTP headers before a call ).

Because of this, if you're running two instances of the plugin on a single machine, they can interfere with each other and step on each other's toes in terms of threads and operations, and therefore cause issues.  Again, running in this way is not documented or tested, and is not recommended.

If you're calling scripts via PSOS or Schedules that use the BE plugin, we recommend that you do this in a way that limits the scripting to one process at a time.  So either you a system to flag when other processes are active and pauses until the flag is cleared.  Or you run a single process via schedule, that repeats and waits for a queue of "event" records to process.  Each one can be different actions to run, but they run in sequence as they come in.

Either of these methods work to keep the plugin to a single instance, and therefore reduce the dependency issues that may come up and so prevent crashes or other issues.


Can BaseElements plugin be thread safe

It is possible to at least attempt to retro fit a thread safe model to the BE plugin.  It's not something we have in the todo, and would likely cost above $5000 in development time.  This could be something that we either sponsor or crowdfund in the future.

At present only the XML functions have been adjusted and tested to be threadsafe.

Have more questions? Submit a request


Please sign in to leave a comment.