Our Blog   Our FileMaker Blog   Our Xojo Blog   Archive

MBS FileMaker Advent calendar - Door 4 - FM.SQL.Executeand life in the matrix

Monkeybread Monkey as an elf
christmas tree Door 4
FM.SQL.Execute and life in the matrix
christmas tree

Yesterday, we learned about an SQL function from MBS. Just like FileMaker's own function, it returned text that we could then work with. This time, we want to take a look at the FM.SQL.Execute function. Instead of returning text output, this function creates a reference. A reference is a reference to the working memory in which the result of the function is temporarily stored. This allows you to use the result returned by the SQL query with other cool MBS functions, which you will learn about later in this calendar. The advantage of having a reference instead of text is that the text does not have to be reloaded into the working memory every time we want to work with the result. The result with the reference is simply stored in the working memory, which saves us a lot of time when dealing with large amounts of data. This also gives us the option of running through the result (in another door) or selecting a different output type. We will output the result as text as well as a matrix. The FM.SQL.Text function is available for output as text. Let's take a look at such a query on our database. Here, we want to search for all movies made before the year 2000. In the FM.SQL.Execute function, we first specify the database on which we want to perform our operations.If we leave this parameter blank, we do not limit the query to one database. Instead, we keep the option open for multiple databases. In our case, it is clear which one we want, and we specify it. Then the SQL statement follows. The result of this function, our reference, is then stored in our variable $SQLRes. We then use this reference as the first parameter in our next function, FM.SQL.Text. Then we can determine the range of data to be displayed. We have parameters for the first and last row and the first and last column. For now it is sufficient to leave the parameters empty, because then the entire result set will be displayed. Two further parameters then stand for the row separator and field separator.

Set Variable [ $SQLRes ; Value: MBS("FM.SQL.Execute" ; Get(FileName); 
   "SELECT Name, Launch FROM Movie WHERE Launch<2000" ) ]
Set Variable [ $r ; Value: MBS("FM.SQL.Text"; $SQLRes;"";"";"";"";"¶¶";"| - |") ]
(more)

News from the MBS Xojo Plugins Version 25.5

In this article I want to introduce you the new functionalities from the MBS Xojo Plugins in version 25.5.

Llama

We have added a brand new section to our plugins: Llama. With the help of llama cpp integration, you can now load a local large language model (LLM) in Xojo with just a few lines of code, create a context, and generate text—all on-device, with optional GPU acceleration. The article Using llama.cpp in Xojo shows you what is possible and how to get started. Feel free to take a closer look.

(more)

MBS FileMaker Advent calendar - Door 3 - FM.ExecuteFileSQL

Monkeybread Monkey as an elf
christmas tree Door 3
FM.ExecuteFileSQL
christmas tree

Today is the third day. Yesterday, we learned what we can do with FileMaker's internal functions. Today, we want to look at an MBS function that is very similar in structure: the FM.ExecuteFileSQL function.

Let's take a look at our query for all movies directed by Chris Columbus, plus movies released in 2000 that were not directed by Greg Beeman. We remember that this was the query:

SELECT Name, Launch 
FROM Movie 
WHERE Director = 'Chris Columbus' OR Launch=2000 AND NOT Director='Greg Beeman'

We now want to execute this query in the MBS function FM.ExecuteFileSQL.

(more)

MBS FileMaker Advent calendar - Door 2 - SQL with FileMaker's own functions

Monkeybread Monkey as an elf
christmas tree Door 2
SQL with FileMaker's own functions
christmas tree

Before we take a look at what MBS can do with SQL, let's take a look at FileMaker's own functions and get started with the SQL language. In today's example, we are working with a table listing Christmas movies. It is called Movie and has the following fields: Name, Director, Year and Generated_Sales. The first queries will be run on this table in a moment.

(more)

Videos von der FileMaker Konferenz

Präsentationen von Stefanie Juchmes-Simonis anlässlich der FileMaker Konferenz in Hamburg im September 2025.

Scripte auf dem Server

Stefanie trägt auf der FileMaker Konferenz 2025 über Skripte auf dem Server vor.

(more)

MBS FileMaker Advent calendar - Door 1 - Introduction

Monkeybread Monkey as an elf
christmas tree Door 1
What is SQL?
christmas tree

Today we start with the first door of this year's MBS Advent calendar. This year, we have come up with a themed Advent calendar for you. Over the next 24 doors, you will learn how to work with SQL within a FileMaker database using MBS functions.

So let's start today with the question: What is SQL in general, and what can I use it for?

(more)

MBS Xojo Plugins, version 25.6pr1

New in this prerelease of the 25.5 plugins:

New functions in documentation

Download Links: Download Mac dmg or Download Windows/Linux zip

Download: monkeybreadsoftware.de/xojo/download/plugin/Prerelease/.
Or ask us to be added to our shared DropBox folder.

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


MBS FileMaker Plugin, version 15.6pr1

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

New functions in documentation

Download Links: Download Mac dmg or Download Windows/Linux zip


Downloads at monkeybreadsoftware.com/filemaker/files/Prerelease/:


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


Black Friday coming soon

As you may know Americans love to shop on Black Friday and Cyber Monday. This year Black Friday is 28th November. About half our customers are in North America, so we are happy to offer you a discount if you buy this weekend.

Please use coupon code BlackFriday for the web shop with 20% off for new licenses of MBS Plugins, DynaPDF, Saxon and LibXL.

Order MBS FileMaker Plugin     Order MBS Xojo Plugins     Order LibXL (more)

New in MBS FileMaker Plugin 15.5

In this article we want to introduce you the new functions from the MBS FileMaker Plugin in version 15.5.

Schema Change

With the new SchemaChange functions, you can monitor changes to the schema on the server and, when changes occur, log them in a table, for example, or send an email notification. In order for things to be changed on the server, we must activate this monitoring once with SchemaChange.Enable. With SchemaChange.Changes, we can then query the changes, which are then delivered to us as JSON. You may have a scheduled script running on the server to react to changes. The SchemaChange.TimeStamp function, which provides the last change time, is helpful here. The SchemaChange.Counter function provides us with the current number of changes. With SchemaChange.Clear, we can clear the list of changes. If we want to stop logging, we use the SchemaChange.Disable function.

(more)

Using llama.cpp in Xojo

Running a local LLM directly from Xojo is now easier than ever thanks to the MBS Xojo Plugins and their integration with llama.cpp. With just a few lines of code, you can load a model, create a context, and generate text—all on-device, with optional GPU acceleration.

In this article, we’ll walk through the basics of setting up llama.cpp with Xojo and the MBS Plugin, and then examine a complete example that loads a model and asks it simple questions.

What Is llama.cpp?

llama.cpp is a high-performance C/C++ implementation for running LLaMA-family language models locally, optimized for CPUs and GPUs (Metal, CUDA, etc.). It is lightweight, fast, and ideal for on-device inference with small to medium-sized models.

The MBS Xojo Plugins provide a direct bridge between Xojo and llama.cpp, exposing model loading, context creation, sampling, and inference capabilities through the LlamaMBS, LlamaModelMBS, LlamaContextMBS, and related classes.

(more)

Watching for schema changes in your FileMaker Server

Do you have a FileMaker Server with multiple databases? Do you like to keep track who makes changes?

With FileMaker Server 21.1 the Plugin SDK got a new entry point for requesting schema changes. This provides a way for the plugin to be notified about changes to any of the databases on the server. With changes to the schema, we mean changes for these catalogs:

  • custom function
  • custom menu set
  • data source
  • extended privilege
  • field
  • layout
  • privilege set
  • script
  • table
  • table alias
  • theme
  • user account
  • value list

There may be more catalogs.

Screenshot of the example database. (more)

MBS Plugin 15.5 for Claris FileMaker

Nickenich, Germany - (November 18th, 2025) -- Monkeybread Software today is pleased to announce MBS FileMaker Plugin 15.5 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 15.5 has been updated and now includes over 7700 different functions, and the versatile plugin has gained more new functions:

For macOS 26 and iOS 26 you can use our FoundationModels functions to use Apple's local on-device LLM within your FileMaker solution. Check whether the model is available and initialize a session and ask for responds. You may use the model for chatting, summarization, translation and more.

On the FileMaker Server you use the SchemaChange functions to watch for changes in your databases. The plugin collects the changes and provides them as JSON array to you. You can use a scheduled script to process the entries and add them to an audit table for later inspection.

For CURL we added a CURL.NetworkChanged function to inform CURL about a network change. The new functions for multi transfers allow you to know how many transfers are currently running, pending, added or done. Secure Transport was removed in favor of OpenSSL.

For Windows using WebView2 control for web viewers you can now set what preferred color scheme to use. You can query the directory path for the current profile, set the default download folder, query and set the width and height of the web viewer.

We have UUID.UUIDv7 and UUID.TimeFromUUIDv7 functions to create time stamps based UUIDs so you can sort them by date. Use Text.ZLibCompress and Text.ZLibDecompress functions to compress text or container with zlib compression.

For Markdown we added a HTMLDocument function. We got the Text.HTMLtoStyledText function to convert that HTML to styled text and added the MarkDown.StyledText function to provide styled text for FileMaker.

We remember the width of columns in various dialogs. The format button for the data viewer can be set to automatically format the XML or JSON content. We added links for the calculation dialog to jump to the most recent used table occurrence.

For macOS we have Files.BSDVolumeName function to return the BSD name for a volume. The Files.USBSerialNumber function returns the serial number for an USB stick.

When you register a custom function via our plugin using FileMaker or JavaScript code, you can lock them to avoid the function being modified. We can list function IDs as well as provide details information with Plugin.CustomFunctions function. The preference dialog allows you to paste the whole license string to enter your license and the Trace function logs the layout you are on.

You can use Phidget.WriteRFID to write RFID cards with your RFID Phidget. We improved WMIQuery functions to better handle security and added WMIQuery.JSON function to return results as JSON.

Finally we updated CURL library to version 8.16.0, DynaPDF to 4.0.102.299, expat to 2.7.3, jsoncons to 1.4.3, libarchive to 3.8.2, OpenSSL to 3.5.2, Saxon to 12.9 and to Xcode 26.0.

See release notes for a complete list of changes.


MonkeyBread Software Releases the MBS Xojo Plugins in version 25.5

Nickenich, Germany - (November 18th, 2025) -- Monkeybread Software today is pleased to announce MBS Xojo Plugins 25.5 for macOS, Linux and Windows, the latest update to their product that is easily the most powerful plugin collection currently available for Xojo. MBS Xojo Plugins have been updated and now includes over 3000 classes and 83,000 documented features, and the versatile plugins have gained more new functions:

For macOS 26 and iOS 26 you can use our FoundationModels classes to use Apple's on-device LLM within your Xojo applications. Use SystemLanguageModelsMBS class to check whether the model is available and initialize a session with LanguageModelSessionsMBS class. You may use the model for chatting, summarization, translation and more.

In your cross platform projects you can use the open source Llama library to run large language models within your Xojo application. Load a model with LlamaModelMBS class and then create a context with LlamaContextMBS class and ask it with a prompt.

Use NSSymbolEffectMBS class and subclasses to have animated symbols in the user interface. We have classes for transitions and effect options. You can add symbol effects to NSImageView controls. You can use symbol configuration for a NSButtonMBS based control.

When running JavaScript with macOS, you can create a group of contexts with JSContextGroupMBS class. Then create contexts within that group, so they can share data.

For CURL we added a NetworkChanged method to CURLSMultiMBS class to inform CURL about a network change. The new properties for transfers allow you to know how many transfers are currently running, pending, added or done. Secure Transport was removed in favor of OpenSSL and CURLN* and CURL* classes are now subclasses for CURLS* classes to help transition to the CURLS classes.

We upgraded several classes. The WiringPiMBS module, the NSImageViewMBS, X509MBS, CGImageSourceMBS and CGImageDestinationMBS classes all go many new properties and methods for additional features.

For Windows using WebView2 control you can now set what preferred color scheme to use. You can query the directory path for the current profile and set the default download folder.

We extend our DynaPDFParserMBS class to provide details on the content of a page. You can delete individual things on a PDF page like images or text pieces. The USBSerialNumberMBS method on a folderitem provides the serial number for an USB stick on macOS. Same can be done with WMI classes on Windows.

We got new UUIDv7 functions for UUIDMBS class, the ChartDirector plugin got Windows ARM 64 bit support and you can show the manage subscriptions dialog in StoreKit2. The QLPreviewControllerMBS can now show item with custom title, the CSProfileMBS class can wait for getting all the installed profiles and the WindowsWMIMBS works better with Windows security.

Finally we updated the CURL library to version 8.16.0, DynaPDF to 4.0.102.299, expat to 2.7.3, jsoncons to 1.4.3, libarchive to 3.8.2, OpenSSL to 3.5.2, Saxon to 12.9, Xcode to 26.0 and WiringPi to 3.1.6.

See release notes for a complete list of changes.


Neues MBS Plugin 15.5 für Claris FileMaker

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

Für macOS 26 und iOS 26 können Sie unsere FoundationModels-Funktionen nutzen, um Apples lokales LLM in Ihrer FileMaker-Lösung zu verwenden. Überprüfen Sie, ob das Modell verfügbar ist, initialisieren Sie eine Sitzung und fordern Sie Antworten an. Sie können das Modell für Chats, Zusammenfassungen, Übersetzungen und vieles mehr verwenden.

Auf dem FileMaker Server verwenden Sie die SchemaChange-Funktionen, um Änderungen in Ihren Datenbanken zu überwachen. Das Plugin sammelt die Änderungen und stellt sie Ihnen als JSON Array zur Verfügung. Sie können ein geplantes Skript verwenden, um die Einträge zu verarbeiten und sie zur späteren Überprüfung in eine Audit-Tabelle aufzunehmen.

Für CURL haben wir eine CURL.NetworkChanged-Funktion hinzugefügt, um CURL über eine Netzwerkänderung zu informieren. Mit den neuen Funktionen für Mehrfachübertragungen können Sie sehen, wie viele Übertragungen derzeit ausgeführt werden, ausstehen, hinzugefügt oder abgeschlossen sind. Secure Transport wurde zugunsten von OpenSSL entfernt.

Für Windows, das WebView2-Steuerelemente für Web-Viewer verwendet, können Sie nun das bevorzugte Farbschema festlegen. Sie können den Verzeichnispfad für das aktuelle Profil abfragen, den Standard-Downloadordner festlegen und die Breite und Höhe des Web-Viewers abfragen und festlegen.

Wir haben UUID.UUIDv7 und UUID.TimeFromUUIDv7 Funktionen, um zeitstempelbasierte UUIDs zu erstellen, damit Sie diese nach Datum sortieren können. Verwenden Sie die Funktionen Text.ZLibCompress und Text.ZLibDecompress, um Text oder Container mit zlib-Komprimierung zu komprimieren.

Für Markdown haben wir eine HTMLDocument-Funktion hinzugefügt. Wir haben die Funktion Text.HTMLtoStyledText, um HTML in formatierten Text zu konvertieren, und die Funktion MarkDown.StyledText hinzugefügt, um formatierten Text für FileMaker bereitzustellen.

Wir merken uns die Breite der Spalten in verschiedenen Dialogen. Die Formatierungsschaltfläche für den Datenviewer kann so eingestellt werden, dass der XML- oder JSON-Inhalt automatisch formatiert wird. Wir haben Links für den Berechnungsdialog hinzugefügt, um zur zuletzt verwendeten Tabelleneinstiegsstelle zu springen.

Für macOS haben wir die Funktion Files.BSDVolumeName, um den BSD-Namen für ein Volume zurückzugeben. Die Funktion Files.USBSerialNumber gibt die Seriennummer für einen USB-Stick zurück.

Wenn Sie eine benutzerdefinierte Funktion über unser Plugin mit FileMaker- oder JavaScript-Code registrieren, können Sie diese sperren, um zu verhindern, dass die Funktion geändert wird. Mit der Funktion Plugin.CustomFunctions können wir Funktions-IDs auflisten und detaillierte Informationen bereitstellen. Im Einstellungsdialog können Sie die gesamte Lizenzzeichenfolge einfügen, um Ihre Lizenz einzugeben, und die Trace-Funktion protokolliert das Layout, in dem Sie sich befinden.

Mit Phidget.WriteRFID können Sie RFID-Karten mit Ihrem RFID-Phidget beschreiben. Wir haben die WMIQuery-Funktionen verbessert, um die Sicherheit zu erhöhen, und die Funktion WMIQuery.JSON hinzugefügt, um Ergebnisse als JSON zurückzugeben.

Schließlich haben wir die CURL-Bibliothek auf Version 8.16.0, DynaPDF auf 4.0.102.299, expat auf 2.7.3, jsoncons auf 1.4.3, libarchive auf 3.8.2, OpenSSL auf 3.5.2, Saxon auf 12.9 und Xcode auf 26.0 aktualisiert.

Alle Änderungen in den Release Notes.


MBS @ Engage 2025

The live recording of the MBS FileMaker Plugin Presentation at the EngageU conference in Malmö, Antwerp, Belgium in November 2025. Christian summarizes what is new in the plugin for 2025.

Watch on YouTube. Let us know if you have questions. The official recording from the conference will come in the next months and have a better quality for the video and audio.

More conferences coming up for next year including EngageU 2026, probably in November in Malmö.


Videos von der FileMaker Konferenz

Präsentationen von Stefanie Juchmes-Simonis anlässlich der FileMaker Konferenz in Hamburg im September 2025.

Keine Angst vor Scripten und Funktionen

(more)

MBS Xojo Plugins, version 25.5pr7

New in this prerelease of the 25.5 plugins:
  • Improved import mode for UIDocumentPickerMBS class.
  • Fixed our FoundationModel plugin part to load on older macOS versions.
  • Added IsRendering property to WindowsPDFPageMBS class.
  • Added AvailableCharacters property to StdinMBS class.

Download: monkeybreadsoftware.de/xojo/download/plugin/Prerelease/.
Or ask us to be added to our shared DropBox folder.

New functionality in documentation.

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


MBS FileMaker Plugin, version 15.5pr7

New in this prerelease of version 15.5 of the MBS FileMaker Plugin:
  • Added SchemaChange functions to track schema changes server side.
  • Fixed DataViewerFormatButtonEnabled to be saved in preferences.
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.


Xojo November Sale

Xojo Inc. runs a sale in their web shop. You get 25% off on 17th November and 20% off 18 to 20th November 2025.

As usual, if you have an expired license or your license expires within the next 2 months, the offer may save you some money.

See the Xojo Store

Older blog entries:

2025-11-10 MBS Booth ready for EngageU 2025
2025-11-09 MBS FileMaker Plugin, version 15.5pr6
2025-11-09 MBS Xojo Plugins, version 25.5pr6
2025-11-08 Japanese FileMaker conference
2025-11-03 xDev Magazine 23.6
2025-11-01 Retract text from a PDF with DynaPDF
2025-10-30 Xojo Web App with load balancer
2025-10-29 Installing and Loading Tesseract OCR with MBS Plugin
2025-10-28 MBS Xojo Developer Conference Update
2025-10-28 How to Register the MBS Plugin for FileMaker
2025-10-27 MBS Xojo Plugins, version 25.5pr5
2025-10-27 MBS FileMaker Plugin, version 15.5pr5
2025-10-16 MBS Xojo Plugins, version 25.5pr4
2025-10-16 MBS FileMaker Plugin, version 15.5pr4
2025-10-14 Enhance your XML powers in FileMaker with our Saxon functions
2025-10-13 MBS Xojo Plugins, version 25.5pr3
2025-10-13 MBS FileMaker Plugin, version 15.5pr3
2025-10-11 MBS @ FMTraining.TV - FileMaker MonkeyBread Plug-in Q&A
2025-10-10 Use Foundation Models in Xojo
2025-10-09 EngageU - FileMaker Conference in one months

Archives

Dec 2025
Sep 2025
Aug 2025
Jul 2025
Jun 2025
May 2025
Apr 2025
Mar 2025
Feb 2025
Jan 2025
Dec 2024
Nov 2024
Oct 2024
Sep 2024
Aug 2024
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

Follow us on BlueSky, Mastodon, Twitter, Xing, LinkedIn or Facebook.


Ausspannen vom Alltagsstress mit einer Waldführung oder einem Waldpäuschen mit der Waldmeisterin.