MBS FileMaker Plugin 14.3 News

In this article Stefanie introduces you to the new functions from the MBS FileMaker Plugin in version 14.3.

Python

I would like to introduce you to the highlight of this release right at the beginning. You can now use Python in your projects with the help of the MBS FileMaker Plugin. This programming language, which appeared in the 90s, is one of the most popular of its kind and is used by many developers. We are therefore pleased to be able to open up this world to you in this release. Use our Python functions to load a local Python library and evaluate expressions or run scripts. Get and set variables in Python to exchange data in memory. The Python code can optionally query records from FileMaker using ExecuteSQL or Evaluate functions.

We discuss this topic in more detail in our blog article Using Python in FileMaker. Take a look at this article and take a dip into the world of Python with FileMaker.

Window

Did you know that you can check whether a formatting bar is currently displayed in your window?

The new Window.HasFormattingBar function makes it possible. On MacOS we can support this for all languages. On Windows it is possible to use this function with English, Dutch, French, German, Italian, Portuguese, Spanish and Swedish. Unfortunately it does not work on Windows for asian languages.

CURL

In response to a customer request, we added the ability to work with MQTT servers. MQTT is a network protocol that is used to exchange information between machines. We discovered that the basics for using this protocol were already available in CURL and are now pleased to be able to introduce you to the appropriate functions in this release. On the one hand we have the function CURL.SetMQTTScript with which you can specify the script to be called when such a message comes in via the CURL connection. We can also query the name of this script using the CURL.GetMQTTScriptName function. The incoming messages can then be read as a JSON array using the CURL.GetMQTTMessages function. If you would like to learn more about this topic and see how you can use these functions, please take a look at our blog article MQTT in FileMaker.

Archives

Would you like to compress texts directly into an archive like a zip file?
This is no longer a problem with our new Archive.CompressText function. You pass all information needed for the new archive in the parameters including the text, the file names and compression options.

You can find out how this works, what you can use it for and what other options are available to you for archives in connection with the MBS FileMaker Plugin in our blog article: Compress and Send.

Drag Drop

We have already introduced overlays in version 14.1. With the component Overlay you can show an overlay window with a graphic outside of FileMaker. Now we have created the possibility for you to create a drag drop area on such an overlay. Use the DragDrop.AttachToOverlay function to do this. You can then enhance this area with our functions from the DragDrop component, for example by assigning a background image to it.

DynaPDF

DynaPDF has also received new functions in this release. With the function DynaPDF.SetLineAnnotPoints you can change the start and end point of a line annotation. To do this, first enter the PDF and annotation reference in the parameters. You can then enter the new start and end points as coordinates.

Another new function is DynaPDF.EnableImageCache. It creates an image cache that is used when rendering PDF pages. Caching can speed up rendering dramatically.

Plugin and FM

Did you know that you can also lock functions? These cannot be used then until they are unlocked again. You can obtain a list of the functions that are currently locked with the new Plugin.LockedFunctions function.

There is also a new function in the FM area. With the new function FM.RecordStatistics, you can obtain a statistic for a single record. To do this, enter the file name, the table name, the name of the field in which the primary key is located and the primary key itself in the function parameters. This function then provides us a JSON as output, which contains the statistics for the record. It is important to note here that not only the fields that are visible on the layout are taken into account in the statistics, but all fields that this record has in the database.

The Quick List

There is also a new function in the QuickList component. With the QuickList.JSONArray function, you receive a JSON array containing the texts that are stored in the quick list by specifying the list reference in the function parameters.

Get and Set Tag

We have added Set and Get functions in connection with tags to some components. You can now use the functions CFunction.GetTag, CFunction.SetTag, CLibrary.GetTag, CLibrary.SetTag, Dictionary.GetTag, Dictionary.SetTag, Java.GetTag, Java.SetTag, Mutex.GetTag, Mutex.SetTag, Schedule.GetTag and Schedule.SetTag to set and query tags. The tags allow you to store additional information and retrieve it later.

Mac

There are also new features for Mac and the iOS SDK

Developer functions

For several years now, we have been providing functions for Mac users to make life easier for developers. One of these functions is the auto-completion of variables in the script area. You can now use the new function SyntaxColoring.AutoCompleteVariables.SetGlobals to initial a list of known global variables. This function allows you to pre-populate the list for auto complete on start of your solution. When the plugin sees more global variables, it will increase the list. You can then use the SyntaxColoring.AutoCompleteVariables.GetGlobals function to query the list of global variables again.

System Info

The new MacOS 15 with the name Sequoia will be launched this fall. We are already prepared for this and you can use SystemInfo.isSequoia to check whether the new operating system is running on the computer on which your application is running.

Our SystemInfo.MacMemoryHostStatistics function is also new. This function queries the memory host statistics for macOS and iOS. The result is a JSON with the corresponding entries that you can process further.
This is what such an output might look like:

{ "Compressions" : 1985361, "CompressorPageCount" : 149022, "Swapins" : 0, "Hits" : 0, "SpeculativeCount" : 1578, "Purges" : 9833309, "InternalPageCount" : 2359923, "WireCount" : 264103, "ThrottledCount" : 0, "PageSize" : 16384, "InactiveCount" : 1860387, "CopyOnWriteFaults" : 11950752, "ZeroFillCount" : 227376946, "Decompressions" : 909697, "Swapouts" : 0, "TotalUncompressedPagesInCompressor" : 419808, "ExternalPageCount" : 1357433, "Reactivations" : 4341900, "Lookups" : 0, "Pageouts" : 128639, "FreeCount" : 5720, "PurgeableCount" : 827895, "Pageins" : 39849671, "Faults" : 422802459, "ActiveCount" : 1855391 }

Windows

Last but not Least we also have news for Windows user. With the new function WebView.SetVirtualHostNameToFolderMapping, you can add a virtual host mapping. It sets a mapping between a virtual host name and a folder path to make it available to web sites via that host name. If you want to clear the name, you can use the WebView.ClearVirtualHostNameToFolderMapping function.

This can be used to load a html file, which references JavaScript files with a certain domain and provide them with a local folder.

We hope you will also find some interesting new features. We wish you a lot of fun with MBS FileMaker Plugin Version 14.3. If you need a license or have any questions, please contact us.