Our Blog   Our Claris FileMaker Blog   Our Xojo Blog   Archive     Follow us on Mastodon, Twitter, Xing, LinkedIn or Facebook.

MBS FileMaker Plugin, version 14.4pr1

New in this prerelease of version 14.4 of the MBS FileMaker Plugin: Download at monkeybreadsoftware.com/filemaker/files/Prerelease/

You can subscribe to our FileMaker mailing list to get notified for new pre-release and release versions.

Vienna Calling

Looks like we may have a successor for dotfmp coming to Wien:

We're excited to invite you to the next unconference for FileMaker enthusiasts, set to take place in Vienna from June 4-7, 2025.

After the success of dotfmp.berlin, the desire for an event that fosters open discussions, interactive workshops, and collaborative break-out sessions remains strong. We're in the process of securing a venue that will perfectly cater to our needs for this dynamic and engaging gathering.

To help us plan effectively, please let us know if you can join us by preregistering at the following link. (even let us know if you can`t make it)

If you have friends who might also be interested in joining us in Vienna you are welcome to send them this link.

We value your feedback and are eager to collaboratively create an event that surpasses expectations.

Looking forward to your participation,

the Vienna Calling Team!

Please use the link to add yourself to the list of interested people. We look forward to meet you in Vienna!
Thanks to 72solutions for taking the initiative to continue what Egbert started with dotfmp.

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.


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.


Claris Academy Badges

Collect them all and show that you know something about Claris FileMaker:

For you and your colleagues this is a great way to spend some time learning a few new details at the Claris Academy and then finish the tests with success.

Linux architecture confusion

A common problem clients have is to install the right plugin file on Linux. It seems to confuse some clients which Linux variant they have and then the plug-in won't load.

Plugin location

The MBS Plugin on a server goes into three folders:

FileMaker Server/Database Server/Extensions
FileMaker Server/Web Publishing/publishing-engine/cwpc/Plugins/
FileMaker Server/Web Publishing/publishing-engine/wip/Plugins/

First is for server side scripts, second for WebDirect and third for Data API. Once you put the plugin into the folders, check admim-console to activate plugins for all three and for server scripting activate MBS plugin. If the plugin doesn't show there, you may need to restart server.

Once plugin is loaded, you should find new log files in your Logs folder.


MBS FileMaker Plugin 14.3 for Claris FileMaker

Nickenich, Germany - (July 9th, 2024) -- Monkeybread Software today is pleased to announce MBS FileMaker Plugin 14.3 for Claris FileMaker for macOS, iOS, Linux and Windows, the latest update to their product that is easily the most powerful plugin currently available for Claris FileMaker produce line. As the leading database management solution for Windows, macOS, iOS and the web, the Claris FileMaker Pro Integrated Development Environment supports a plugin architecture that can easily extend the feature set of the application. MBS FileMaker Plugin 14.3 has been updated and now includes over 7400 different functions, and the versatile plugin has gained more new functions:

Use Python scripts in your FileMaker scripts. 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.

Our CURL functions got enhanced to better handle MQTT connections. Use CURL.SetMQTTScript to set a script to be called when messages arrive and CURL.GetMQTTMessages to get the received messages. The debug log shows the URL for the request for helping you to debug the scripts.

If you use our Drag & Drop functions, you can use an overlay window as the drop target. Use DragDrop.AttachToOverlay function to attach a drop area on the overlay and let the user drop files on the overlay. Your script decides what to do with the files.

We got the WebView.SetVirtualHostNameToFolderMapping function to create new virtual host mapping for the WebViewer on Windows. It allows you to redirect requests to a specific domain to html files in a local folder.

We added six more SetTag functions for CFunction, CLibrary, Dictionary, Java, Mutex, and Schedule objects. This allows you to store additional information with the plugin object, e.g. a record identifier.

In DynaPDF you can now keep annotations from flattening in DynaPDF.FlattenAnnots function, if DynaPDF doesn't recognize them. The DynaPDF.Parser.FindText function can now skip sorting with the new SearchAsIs flag. You can enable an image cache for DynaPDF and change line annotation's coordinates.

Our calculation dialog tools got updated to allow using shift key to check syntax, evaluate or format only a selection of text. The code formatting can now detect lines with semicolon first and format the whole text this way. You can pre fill the list of global variables for auto complete with a list of names with SyntaxColoring.AutoCompleteVariables.SetGlobals function.

We fixed the UNNotification functions to work better in FileMaker 21, the SystemInfo.isSequoia can detect the next MacOS version and SystemInfo.MacMemoryHostStatistics provides detailed memory statistics. Use Window.HasFormattingBar to check if FileMaker shows the formatting bar in FileMaker Pro on macOS and Windows. Use FM.RecordStatistics to query size of a record and use Archive.CompressText to add text to a new archive.

Finally we updated CURL to version 8.8.0, DynaPDF to, SQLAPI to 5.3.2, SQLite to 3.46.0, LibXL to 4.3, the plugin SDK and Xcode to version 15.4.

See release notes for a complete list of changes.

Neues MBS Plugin 14.3 für Claris FileMaker

9. Juli 2024 - Monkeybread Software veröffentlicht heute das MBS FileMaker Plugin für Claris FileMaker in Version 14.3, mit inzwischen über 7400 Funktionen eines der größten FileMaker Plugins überhaupt. Hier einige der Neuerungen:

Verwenden Sie Python-Scripts in Ihren FileMaker-Scripts. Verwenden Sie unsere Python-Funktionen, um eine lokale Python-Bibliothek zu laden und Berechnungen auszuwerten oder Scripts auszuführen. Holen und setzen Sie Variablen in Python, um Daten im Speicher auszutauschen. Der Python-Code kann optional mit ExecuteSQL oder Evaluate-Funktionen Daten aus FileMaker abfragen.

Unsere CURL-Funktionen wurden verbessert, um besser mit MQTT-Verbindungen umgehen zu können. Verwenden Sie CURL.SetMQTTScript, um ein Skript zu setzen, das aufgerufen wird, wenn Nachrichten ankommen, und CURL.GetMQTTMessages, um die empfangenen Nachrichten abzufragen. Das Debug-Protokoll zeigt die URL für die Anfrage an, um Ihnen bei der Fehlersuche in den Skripten zu helfen.

Wenn Sie unsere Drag & Drop-Funktionen verwenden, können Sie ein Overlay-Fenster als Drop-Ziel verwenden. Verwenden Sie die Funktion DragDrop.AttachToOverlay, um einen Drop-Bereich auf dem Overlay anzulegen. Der Benutzer kann dann Dateien auf das Overlay ziehen. Ihr Skript kann dann entscheiden, was Sie mit den Dateien machen.

Wir haben die Funktion WebView.SetVirtualHostNameToFolderMapping, um eine neue virtuelle Host-Zuordnung für den WebViewer unter Windows zu erstellen. Damit können Sie Anfragen an eine bestimmte Domäne auf HTML-Dateien in einem lokalen Ordner umleiten.

Wir haben sechs weitere SetTag-Funktionen für CFunction-, CLibrary-, Dictionary-, Java-, Mutex- und Schedule-Objekte hinzugefügt. Damit können Sie zusätzliche Informationen mit dem Plugin-Objekt speichern, z. B. einen Primärschlüssel.

In DynaPDF können Sie nun bei der DynaPDF.FlattenAnnots Funktion verhindern, dass Anmerkungen eingeebnet werden, wenn DynaPDF sie nicht erkennt. Die DynaPDF.Parser.FindText Funktion kann jetzt mit dem neuen SearchAsIs Flag die Sortierung überspringen. Sie können einen Bild-Cache für DynaPDF aktivieren und die Koordinaten von Linienanmerkungen ändern.

Unsere Berechnungsdialog-Tools wurden aktualisiert und erlauben nun die Verwendung der Umschalttaste, um die Syntaxprüfung, das Formatieren oder Ausführen auf eine Textauswahl zu beschränken. Die Code-Formatierung kann nun Zeilen mit Semikolon am Anfang erkennen und den gesamten Text auf diese Weise formatieren. Mit der Funktion SyntaxColoring.AutoCompleteVariables.SetGlobals kann die Liste der globalen Variablen für die automatische Vervollständigung mit einer Liste von Namen vorbelegt werden.

Wir haben die UNNotification-Funktionen verbessert, damit sie in FileMaker 21 besser funktionieren, SystemInfo.isSequoia kann die nächste MacOS-Version erkennen und SystemInfo.MacMemoryHostStatistics liefert detaillierte Speicherstatistiken. Verwenden Sie Window.HasFormattingBar, um zu prüfen, ob FileMaker die Formatierungsleiste in FileMaker Pro unter macOS und Windows anzeigt. Verwenden Sie FM.RecordStatistics, um die Größe eines Datensatzes abzufragen, und verwenden Sie Archive.CompressText, um einem neuen Archiv Text hinzuzufügen.

Schließlich haben wir CURL auf Version 8.8.0, DynaPDF auf, SQLAPI auf 5.3.2, SQLite auf 3.46.0, LibXL auf 4.3, das Plugin SDK und Xcode auf Version 15.4 aktualisiert.

Alle Änderungen in den Release Notes

Is there a formatting bar?

When you like to position something in a window in FileMaker Pro, you may wonder what toolbars are visible to the user. The user may have the normal toolbar and below and for some toolbars you an ask the state, but not for the formatting bar.


Compress and Send

If your user needs to compress one file and send it via email, they can compress the file in Finder or Explorer and attach the file to an email and send it off. But what if you ned to do this 100 times and you need a script to do this?


Send XML File as Zip


Let's start with a XML (or JSON) export from FileMaker which you like to email with MBS FileMaker Plugin. You could just add the XML directly as an attachment with SendMail.AddAttachmentText function and call the job done:


Set Variable [ $r ; Value: MBS( "SendMail.AddAttachmentText"; $email; $XML; "UTF-8"; "export.xml"; "application/xml") ]


But let's use our new Archive.CompressText function to compress the text to a zip file directly. Then we can attach the zip with Archive.CompressContainer function to a new email and send it later. When compressing we use zip as format with deflate as compression algorithm, which is the standard one for zip files. There is an option we use to set compression level to 9 for high. Yes, if data would be already compressed, we could use level 0 for no compression. We use UTF-8 for the encoding of the XML file, but please make sure the XML file has UTF-8 specified as encoding in the header line if it exists. Here is the sample script:


# get some XML

Set Variable [ $XML ; Value: "<test>Hello</test>" ]

# Compress it

Set Variable [ $CompressedXML ; Value: MBS( "Archive.CompressText"; "zip"; "deflate"; "export.zip"; "export.xml"; $xml; "UTF-8"; "compression-level=9") ]

# now add to email

Set Variable [ $email ; Value: MBS( "SendMail.CreateEmail") ]

Set Variable [ $r ; Value: MBS( "SendMail.AddAttachmentContainer"; $Email; $CompressedXML; "export.zip"; "application/zip" ) ]

Set Variable [ $r ; Value: MBS( "SendMail.SetPlainText"; $email; "Dear " & Contacts::FullName & ¶ & ¶ & "Attached you find the export from " & Get(CurrentDate ) & ¶ & ¶ & "Greetings" & ¶ & "Your FileMaker Server") ]


MBS FileMaker Plugin, version 14.3pr7

New in this prerelease of version 14.3 of the MBS FileMaker Plugin:

Download at monkeybreadsoftware.com/filemaker/files/Prerelease/

You can subscribe to our FileMaker mailing list to get notified for new pre-release and release versions.

MBS @ FMTraining.TV - The FileMaker MonkeyBread Plug-in Q&A

Check out the FMTraining.tv website. Richard Carlton and his team do a daily free live stream about FileMaker to watch.

A few days ago Christian Schmitz from Monkeybread Software joined a live episode to talk a bit about the MBS FileMaker Plugin. Watch it on YouTube.

We talk about error handling with ClearErrors and ErrorLog, HadErrors, AddToErrorLog, Text.TextToHTML and DynaPDF.CreateTextField functions.


MBS FileMaker Plugin, version 14.3pr6

New in this prerelease of version 14.3 of the MBS FileMaker Plugin:

Download at monkeybreadsoftware.com/filemaker/files/Prerelease/

You can subscribe to our FileMaker mailing list to get notified for new pre-release and release versions.

Get a trial license key

We got trial keys about 6 years ago added to our FileMaker and Xojo plugins.

A trial key is only valid for a limit time and allows to test all features without demo limitations. Due to the time limitation of the key, you can use it for a few weeks. The key later expires and you are back to demo mode or you order a license to get a permanent license.

We setup a form to request a license key:
Request Trial License Key

We may limit who can get a trial and filter out the requests looking like spam. But so far we issued over 1800 trial keys to various people.

Please understand that trial keys are not intended for deployment of solutions as keys expire. Our regular keys don't expire and can be used forever with the plugin versions released before the license's expiration date.

You can also explicit register for newsletter, so you know about new releases and events.

Let's meet at a FileMaker conference!

There are six conferences left for FileMaker this year and still time for you to sign-up to one and enjoy meeting your fellow developers. Meet Claris staff and us to ask your questions, bring ideas and show what you do with FileMaker.


Insert and return new record ID

There is a little thing we can easily do in FileMaker when creating new records. We can get the ID of the new record. But if we insert via SQL, we can't get it. Usually we workaround by using UUIDs and then put in a new UUID for the record into the insert command. This way we know in advance which ID the new record will have.


Now in PostgreSQL you can use INSERT command with RETURNING option to return the new record ID. As we can use our SQL functions to connect to PostgreSQL databases, we can use that feature here.


MBS FileMaker Plugin, version 14.3pr5

New in this prerelease of version 14.3 of the MBS FileMaker Plugin: Download at monkeybreadsoftware.com/filemaker/files/Prerelease/

You can subscribe to our FileMaker mailing list to get notified for new pre-release and release versions.

MQTT in FileMaker

Recently a client asked about whether we can do MQTT inside FileMaker to subscribe to a topic and receive messages or even send messages. Let's summarize what MQTT is for you:


MQTT (Message Queuing Telemetry Transport) is a lightweight messaging protocol designed for devices with limited resources and for low-bandwidth, high-latency, or unreliable networks. It operates on a publish/subscribe model which allows for efficient distribution of information to many receivers.


We discovered that we have MQTT capabilities built-in to the CURL library. Just use an URL with "mqtt://" followed by IP or domain name of the server. In the path of the URL goes the subject to subscribe or post to. If you like, set a user name and password. Run the transfer and check the debug messages for success. Let us show you how to this in a script below.


Using Python in FileMaker

For MBS FileMaker Plugin 14.3 we add the possibility to evaluate Python code in FileMaker and run scripts. This enables you to integrate existing Python code and use it in FileMaker. That may be a quick calculation to calculate a checksum, process some text, JSON or XML data or to utilize an existing script by running it within FileMaker. Python comes with hundreds of available modules that you can import and use.




Depending on the platform, you install Python libraries in different ways. For macOS you can use Homebrew command line tools to install the python package. For Windows you can download the official Python installer and run it. For Linux you use your package manager to get the python package installed. When done, you have on each system a folder with the libraries and you tell the plug-in where to find them.


For macOS you usually check look for the Python.framework:






For Windows the path to the dll may include the version number, so please adjust as needed. If you like use our Files.List function to check the names in the path in your script.




For Linux the package is usually in the library path, so you can just refer to it by the name.


Any Script can get called anytime by anyone

In the last days we had a discussion with a client about FileMaker 2024 and the quick open feature. The user may press Command-K (macOS) or Control-K (Windows) and search for things. This includes layouts and scripts and they can go to layouts and run scripts, when you wouldn't expect it. 


We love to give everyone a reminder on a little security thing: Any script in FileMaker may get called anywhere by anyone.


When you write a script, you usually make assumptions. The script expects to be in a certain layout on a specific record to do its job. You expect it to be called because a user pressed a specific button or used the custom menu to only call it in a specific situation. But your script can be triggered:


  • with the open quickly feature in FileMaker 2024.
  • using the script menu, maybe after switching back to standard menus.
  • via Apple Script
  • via Data API
  • via fmp:// URL
  • via various plugins
  • via another FileMaker file where someone writes a script to perform a script in your file.
  • via Siri intents
  • via notification response trigger

While you could put in some guard rails using the permissions and denying linking your file to another one, we hardly ever want to restrict calling triggers via fmp URLs or plugin since we use that regularly for integrations like with the WebViewer.


MBS FileMaker Plugin, version 14.3pr4

New in this prerelease of version 14.3 of the MBS FileMaker Plugin: Download at monkeybreadsoftware.com/filemaker/files/Prerelease/

You can subscribe to our FileMaker mailing list to get notified for new pre-release and release versions.

Older blog entries:

2024-06-18 Use web viewer in FileMaker to show 3D models
2024-06-17 MBS @ dotfmp 2024
2024-06-14 MBS FileMaker Plugin, version 14.3pr3
2024-06-13 Store large texts as container fields
2024-06-10 MBS FileMaker Plugin, version 14.3pr2
2024-06-08 Additional variable levels in FileMaker with MBS Plugin
2024-06-05 MBS @ FMTraining.TV - Exporting FileMaker Settings into Excel Files using the MonkeyBread Plug-in with Christian Schmitz
2024-06-04 FileMaker 2024 released
2024-06-03 MBS FileMaker Plugin, version 14.3pr1
2024-06-02 FileMaker Konferenz 2024 in Malbun - Noch vier Monate
2024-05-23 MBS @ FMTraining.TV - The Claris FileMaker MonkeyBread Plug-in 14.2 Release
2024-05-21 News in MBS FileMaker Plugin 14.2
2024-05-20 Rome FileMaker Week 2024
2024-05-14 MBS Plugin 14.2 for Claris FileMaker
2024-05-14 Neues MBS Plugin 14.2 für Claris FileMaker
2024-05-09 Storing data in the FileMaker schema
2024-05-08 MBS FileMaker Plugin, version 14.2pr5
2024-05-08 FileMaker MonkeyBread Plug-in Presentation with Christian Schmitz
2024-05-07 FileMaker Hosting for 1 to 4 users
2024-05-06 JSON Replace with evaluate


Jul 2024
Jun 2024
May 2024
Apr 2024
Mar 2024
Feb 2024
Jan 2024
Dec 2023
Nov 2023
Oct 2023
Sep 2023
Aug 2023
Jul 2023
Jun 2023
May 2023
Apr 2023
Mar 2023
Feb 2023
Jan 2023
Dec 2022
Nov 2022
Oct 2022
Sep 2022
Aug 2022
Jul 2022
Jun 2022
May 2022
Apr 2022
Mar 2022
Feb 2022
Jan 2022
Dec 2021
Nov 2021
Oct 2021
Sep 2021
Aug 2021
Jul 2021
Jun 2021
May 2021
Apr 2021
Mar 2021
Feb 2021
Jan 2021
Dec 2020
Nov 2020
Oct 2020
Sep 2020
Aug 2020
Jul 2020
Jun 2020
May 2020
Apr 2020
Mar 2020
Feb 2020
Jan 2020
Dec 2019
Nov 2019
Oct 2019
Sep 2019
Aug 2019
Jul 2019
Jun 2019
May 2019
Apr 2019
Mar 2019
Feb 2019
Jan 2019
Dec 2018
Nov 2018
Oct 2018
Sep 2018
Aug 2018
Jul 2018
Jun 2018
May 2018
Apr 2018
Mar 2018
Feb 2018
Jan 2018
Dec 2017
Nov 2017
Oct 2017
Sep 2017
Aug 2017
Jul 2017
Jun 2017
May 2017
Apr 2017
Mar 2017
Feb 2017
Jan 2017
Dec 2016
Nov 2016
Oct 2016
Sep 2016
Aug 2016
Jul 2016
Jun 2016
May 2016
Apr 2016
Mar 2016
Feb 2016
Jan 2016
Dec 2015
Nov 2015
Oct 2015
Sep 2015
Aug 2015
Jul 2015
Jun 2015
May 2015
Apr 2015
Mar 2015
Feb 2015
Jan 2015
Dec 2014
Nov 2014
Oct 2014
Sep 2014
Aug 2014
Jul 2014
Jun 2014
May 2014
Apr 2014
Mar 2014
Feb 2014
Jan 2014
Dec 2013
Nov 2013
Oct 2013
Sep 2013
Aug 2013
Jul 2013
Jun 2013
May 2013
Apr 2013
Mar 2013
Feb 2013
Jan 2013
Dec 2012
Nov 2012
Oct 2012
Sep 2012
Aug 2012
Jul 2012
Jun 2012
May 2012
Apr 2012
Mar 2012
Feb 2012
Jan 2012
Dec 2011
Nov 2011
Oct 2011
Sep 2011
Aug 2011
Jul 2011
Jun 2011
May 2011
Apr 2011
Mar 2011
Feb 2011
Jan 2011
Dec 2010
Nov 2010
Oct 2010
Sep 2010
Aug 2010
Jul 2010
Jun 2010
May 2010
Apr 2010
Mar 2010
Feb 2010
Jan 2010
Dec 2009
Nov 2009
Oct 2009
Sep 2009
Aug 2009
Jul 2009
Apr 2009
Mar 2009
Feb 2009
Dec 2008
Nov 2008
Oct 2008
Aug 2008
May 2008
Apr 2008
Mar 2008
Feb 2008
XML: RSS Feed XML: Atom Feed