Additional variable levels in FileMaker with MBS Plugin

You may know that FileMaker has variables within Let(), $ variables in a script and $$ variables as per file globals. But MBS FileMaker Plugin provides higher levels. Our plugin based variables (see FM.VariableSet) stay in the process space of the current loaded plugin. But there is also shared memory to store something per computer, independent of the current application.

On a FileMaker Server you can have three times the plugin installed and also on each web direct worker. You may run one or more FileMaker Pro copy on a machine and each has plugin managed variables for itself. But they can also access the shared memory (see SharedMemory.SetValue) on the same machine and share variables.

A few interesting facts:

  • Plugin managed variables are file independent and can be set/queried from everywhere. Your start file can set a few and other files later can query them.
  • We allow you to list our variables. (See FM.VariableNames)
  • With PSoS one script can set a variable and a script triggered from another client can read that variable.
  • Shared memory objects stay around, even if FileMaker process quits or crashes. Until you delete them or reboot the machine.
  • We have atomic operations FM.VariableAppend and FM.VariableAdd to add something without other scripts messing up in-between reading and writing.
  • Our Mutex functions can help to synchronize access to a resource on a machine.
  • You can regularly store information in shared memory. If connection is lost and/or FileMaker crashes, you can find this information on the next launch and recover.
  • In Data API, you can use PSoS to perform a script in the Server Script Engine and access the variables there.

Let us know if you have questions or more use cases.

2 Likes