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

MBS Xojo Plugins, version 25.3pr3

New in this prerelease of the 25.3 plugins:
  • Updated DynaPDF to version 4.0.102.288.
  • Added SetActiveSigField function for DynaPDFMBS class.
  • Added isTahoe method to SystemInformationMBS module.
  • Improved DumpToStrings method to InternalSQLiteLibraryMBS module.
  • Updated SQLite to version 3.50.1.
  • Added DataTypeInt8 constant for MLMultiArrayMBS class.
  • Updated CURL library to version 8.14.1.
  • Added OptionSSLSignatureAlgorithms property to CURLSMBS class.
  • Added kWebSocketNoAutoPong constant to CURLSMBS class.
  • Improved loading LDAP library on Linux to work on Ubuntu 22 and 24.
  • Added CGDirectDisplayID property to NSScreenMBS class.
  • Added neutralValue property to NSSliderMBS class.
  • Added prefersCompactControlSizeMetrics to NSViewMBS class.
  • Added ControlSizeExtraLarge constant to NSControlMBS class.
  • Added backgroundTintColor and style properties to NSToolbarItemMBS class.
  • Added NSWritingToolsResultPresentationIntent constant to NSTextViewMBS class.
  • Added NSEventTypeMouseCancelled constant to NSEventMBS class.
  • Added placeholderStrings and placeholderAttributedStrings methods to NSTextFieldMBS class.
  • Added constants to NSButtonCellMBS class.
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.3pr3

New in this prerelease of version 15.3 of the MBS FileMaker Plugin:
  • Updated DynaPDF to version 4.0.102.288.
  • Added DynaPDF.SetActiveSigField function.
  • Added SystemInfo.isTahoe function.
  • Fixed a problem in CompressFiles method for ZipMBS class, broken since 25.0.
  • Improved SQL.InternalSQLiteLibrary.Dump function.
  • Updated SQLite to version 3.50.1.
  • Improved our CoreML functions to handle Int8 data type in addition to Float16, Float32, Int32 and Float64 data types that your models may use.
  • Updated CURL library to version 8.14.1.
  • Added CURL.SetOptionSSLSignatureAlgorithms function.
  • Improved loading LDAP library on Linux to work on Ubuntu 22 and 24.
  • Changed copy text/selection in ScriptWorkspace to indent the lines.
  • Added SelectedOnly and EndOfLine parameters for ScriptWorkspace.StyledScriptText function.
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.


JSON as input for Saxon functions

Did you know that you can use JSON in our Saxon functions? Originally Saxon is a XML library, but it can take JSON as input in various queries. The queries internally work with maps and arrays and these can be filled by JSON.

Let us show you how to use JSON for Saxon.XPathQuery and Saxon.XQuery functions:

(more)

Base64 function for SQLite

For the MBS Xojo SQL Plugin 25.5, we add a few extensions and include UUID, Base64 and CSV. The base64 extension allows us to make an base64 encoding in a SQL query as the extension adds the base64() function. It converts BLOB to base64 encoded text or back.

To use it in your Xojo application, you need to set the Base64ExtensionEnabled property in the InternalSQLiteLibraryMBS module to true. Then we enable the internal library with the Use method.

// use internal sqlite library with Base64 extension InternalSQLiteLibraryMBS.Base64ExtensionEnabled = True Call InternalSQLiteLibraryMBS.Use
(more)

Round corners for card windows

For the next version of MBS FileMaker Plugin in 15.3 we add the Window.SetRoundCorners function to provide round corners.

At the recent Vienna Calling conference a developer asked if we can get the edges of the card in FileMaker to be round. And yes, that is indeed possible. Once the card is shown, the MBS Plugin can find the card window and apply round corners to it.

(more)

SQLite UUID extension

For the MBS Xojo SQL Plugin 25.5, we add a few extensions and include UUID, Base64 and CSV. The uuid extension allows us to make an uuid in a SQL query as the extension adds these functions:

uuid() generate a version 4 UUID as a string
uuid_str(X) convert a UUID X into a well-formed UUID string
uuid_blob(X)convert a UUID X into a 16-byte blob

Let's use this in an example project:

(more)

MBS FileMaker Plugin, version 15.3pr2

New in this prerelease of version 15.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 Xojo Plugins, version 25.3pr2

New in this prerelease of the 25.3 plugins: 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.


Shortcuts for formula result data types

Did you notice that MBS FileMaker Plugin 15.2 includes a new feature to add keyboard shortcuts for the result data types for a formula?

(more)

Create an email in Apple Mail from FileMaker

Did you know we can pass styled text to Apple Mail?

We can use our SharingService functions to share data with other applications. This includes passing styled text, containers with images, files or URLs.

Available services

Using the SharingService.ServicesForItems function, we can query the available services to request. This allows us to check which services are available and only show a button to share via Airdrop, if that is possible.

By default you have these services available on macOS:

TitleNameTextFile PathImagesURLs
Add to Photoscom.apple.share.System.add-to-iphoto-XX-
Add to Reading Listcom.apple.share.System.add-to-safari-reading-list---X
AirDropcom.apple.share.AirDrop.send-XXX
Dropbox Transfercom.getdropbox.dropbox.TransferExtension-XX-
Freeformcom.apple.freeform.sharingextensionXXXX
Mailcom.apple.share.Mail.composeXXXX
Messagescom.apple.share.Messages.windowXXXX
Notescom.apple.Notes.SharingExtensionXXXX
Reminderscom.apple.reminders.sharingextensionXXXX
Simulatorcom.apple.iphonesimulator.ShareExtension-XXX

If you install applications, they may offer additional services. I got Dropbox to show up here, so I included it in the table.

(more)

MBS Xojo Plugins, version 25.3pr1

New in this prerelease of the 25.3 plugins: 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.3pr1

New in this prerelease of version 15.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.


GridFS with MongoDB

The MBS Xojo MongoDB Plugin got GridFS functionality in the last release. It allows you to store files in a MongoDB database. Internally the files are stored in two tables, one with the file list and a second one with file chunks. The MongoDB client library provides a nice interface for this. We wrap that in MongoGridFSMBS and MongoGridFSFileMBS classes.

Read file

Let's read a file. We build the MongoURIMBS object for whatever server we need, in our example a local one. We connect to the server using the MongoClientMBS class. Then we initialise the MongoGridFSMBS object using the name of the database "test". We store files in this database and use the prefix "fs" for the table. You can store files in multiple databases and store different file sets within the same database with different prefixes.

The FindOneByFileName() function finds a file by the name (or path). You get the matching MongoGridFSFileMBS object and then you can inspect properties or use the read methods to read the content. Here is a little sample code:

Sub Read() Var uri As New MongoURIMBS("mongodb://localhost/") Var Client as new MongoClientMBS(uri) Var GridFS As MongoGridFSMBS = Client.GridFS("test", "fs") // now find the file and write it Var file As MongoGridFSFileMBS = GridFS.FindOneByFileName( "test.txt") // read data Var data As String = file.ReadAll Var bytes As Integer = data.Bytes MessageBox "bytes read: "+bytes.ToString End Sub

You may have the Client and GridFS objects in properties of your window or app. This way you keep it open and avoid reconnecting each time.

(more)

I quit Duolingo

My streak in DuoLingo was 1541 days with 84 weeks in the top league. I did the tournament and won it twice. I earned a ton of badges including finishing first in the diamond league.
(more)

MBS @ FMTraining.TV - The MonkeyBread Plug-in 15.2 Update

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 talked about the 15.2 release: See announcement, the new functions and release notes.

(more)

MBS @ FMTraining.TV - MBS Open 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.

A question and answer round for the MBS FileMaker Plugin. We check Window.Activate, Process.SetFrontMost, Time.Format, AVRecorder, WebView, DynaPDF, JSON and more functions. We check out the script workspace enhancements with the various shortcuts and the snippet database.

(more)

LastError and LastErrorDetail in FileMaker

We used to suggest scripts like the one below to install the MBS FileMaker Plugin and check for the error status. But the following script has a big problem, a little oversight on how FileMaker works. Try to guess what is wrong here:

Install Plug-In File [ Install Plugin Update if needed::Plugin File Mac ]
Set Variable [ $LastError ; Value: Get(LastError) ]
Set Variable [ $LastErrorDetail ; Value: Get(LastErrorDetail) ]


The script installs the plugin and in case of an error, we like to query the error code and message. But this script never gets the last error detail! You may guess that we query the last error number and detail for the first line with the installation. But what we do is to query the detail for LastErrorDetail, we get the result from the Set Variable script line in the second line. Yes, the Set Variable will clear the error state and thus we never get the detail for the first line.

We have a fixed script:

Install Plug-In File [ Install Plugin Update if needed::Plugin File Mac ]
Set Variable [ $r ; Value: Let([
  $lastError = Get(LastError);
  $lastErrorMessage = Get(LastErrorDetail)
]; 1) ]


This time we use a Let() statement to query both LastError and LastErrorDetail and assign it to variables. This way the Set Variable can overwrite the error state after we got the values.

If you have existing scripts using Get(LastErrorDetail), you may want to update them to use a Let statement.

MBS Xojo Developer Conference: Speaker wanted

Outside picture of the hotel showing the front door and lift.

We look for speakers interested to present at the MBS Xojo Conference, 22nd to 24th April 2026 in Andernach, Germany.

If we can have you as a speaker for a full session, 45 minutes talk and 15 minutes for questions, we honor your work with a discounted ticket.

We look for topics like these:

  • Desktop app development
  • Web development
  • iOS development
  • Android development
  • Database access
  • Threads, workers, shell class to run things in background
  • The various ways to work with PDF.
  • Encryption best practices
  • App Stores
  • Performance optimization
  • Tips & tricks for Xojo

Feel free to submit your topic to us. There may be other topics possible, that are not on the list above. Please sign up for the conference to reserve your spot.
If your topic is chosen to go on the schedule, we will offer you a refund if you paid already for your ticket.

Please contact us if you like to become a presenter and please do not hesitate to send us questions.


Saxon version 12.7

A few days ago Saxonica company released a new version of their Saxon libraries: Announcing Saxon 12.7!

We reported over 20 issues over time against 12.5 and they got fixed for us. Great service!

We have the download for Saxon libraries for you on our website: Saxon Downloads.

Our package include only the libraries and we built an universal library for macOS to bundle both intel and ARM code into one file. This is a convenience for you, so you don't need to download the big packages from Saxonica.

(more)

Introducing the New AtomicFlagMBS Class in MBS Xojo Plugins 25.2

With the release of MBS Xojo Plugins version 25.2, developers gain access to a powerful new class designed to help manage concurrency in a thread-safe, lock-free manner: the AtomicFlagMBS class. This lightweight atomic boolean type can be the foundation for building your own synchronization primitives like semaphores or critical sections — without relying on heavyweight system locks.

(more)

Older blog entries:

2025-05-16 MBS @ FMTraining.TV - The MonkeyBread Plug-in 15.1 Update
2025-05-15 News from the MBS Xojo Plugins Version 25.2
2025-05-14 Introducing AtomicIntegerMBS: Thread-Safe Integer Operations in Xojo
2025-05-13 News in MBS FileMaker Plugin 15.2
2025-05-13 MBS Xojo Developer Conference
2025-05-12 What XSLT 2.0 and 3.0 can do better than XSLT 1.0
2025-05-10 Introducing AtomicQueueMBS – A Thread-Safe Queue for Xojo
2025-05-08 Using Gmail with oAuth2 for SMTP with MBS Plugin
2025-05-06 MBS Plugin 15.2 for Claris FileMaker
2025-05-06 MonkeyBread Software Releases the MBS Xojo Plugins in version 25.2
2025-05-06 Neues MBS Plugin 15.2 für Claris FileMaker
2025-05-04 14 FileMaker Conferences in 2025
2025-05-03 Using Feature Flags in FileMaker: A Smarter Way to Manage Features
2025-05-02 Workaround if personal hotspot on iOS doesn’t provide an IP
2025-05-01 xDev Magazine 23.3 Issue
2025-05-01 From speech to text with FileMaker and MBS
2025-04-30 MBS Xojo Plugins, version 25.2pr7
2025-04-30 MBS FileMaker Plugin, version 15.2pr7
2025-04-28 Useful iOS functions
2025-04-26 Party time

Archives

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

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