MySQL with SSL in MBS Xojo SQL Plugin

Today an example on how to connect to MySQL via MBS SQL Plugin in Xojo:

dim con as new SQLConnectionMBS try // Specify SSL key file Dim keyFile As FolderItem #If TargetMacOS Then // pick from inside budnle keyFile = App.ExecutableFile.Parent.Parent.Child("Resources").Child("client-test-key.pem") #Else // pick next to exe file keyFile = GetFolderItem("client-test-key.pem") #EndIf con.Option("MYSQL_SSL_KEY") = keyFile.NativePath // Specify SSL certificate file Dim certFile As FolderItem #If TargetMacOS Then // pick from inside budnle certFile = App.ExecutableFile.Parent.Parent.Child("Resources").Child("client-test.pem") #Else // pick next to exe file certFile = GetFolderItem("client-test.pem") #EndIf con.Option("MYSQL_SSL_CERT") = certFile.NativePath // set where to find the MySQL client library #If TargetMacOS Then // pick from inside budnle con.SetFileOption con.kOptionLibraryMySQL, App.ExecutableFile.Parent.Child("libmysqlclient.18.dylib") #elseif TargetWin32 then // pick next to exe file con.SetFileOption con.kOptionLibraryMySQL, App.ExecutableFile.Parent.Child("libmysql.dll") #elseif TargetLinux then // pick next to exe file con.SetFileOption con.kOptionLibraryMySQL, App.ExecutableFile.Parent.Child("") #EndIf dim server as string = "myuser@mydb" dim DBLogin as string = "xxx" dim DBPassword as string = "xxx" con.Connect(server, DBLogin, DBPassword, SQLConnectionMBS.kMySQLClient) If Not con.Error Then MsgBox "We are connected!" Else MsgBox con.ErrorMessage End If catch r as RuntimeException MsgBox r.message end try

If the options MYSQL_SSL_KEY, MYSQL_SSL_CERT, MYSQL_SSL_CA, MYSQL_SSL_CAPATH or MYSQL_SSL_CIPHER are set, the plugin calls mysql_ssl_set function to pass those to MySQL client library.

Good bye Phoenix!

Leaving soon from Phoenix airport.
I enjoyed a great week in Phoenix with the FileMaker DevCon and seeing so many developers:

I look forward to come back in one of the next years. There is still plenty left to see.
The picture above is from Dobbins Lookout in the South Mountain Park, a viewing place you can drive to south of downtown up on the hill (700m high).

And thanks to the Xojo developers who came to my Xojo developer meetings in Tucson and Phoenix.

FileMaker Excellent Awards

I was pleased to see my logo once again on the nominee list:

Thanks for suggesting me!

Push Notifications for FileMaker iOS SDK

Use the MBS FileMaker Plugin for FileMaker iOS SDK to receive push notifications. First on opening the solution, register for receiving them and query the device token. This device token is needed to send push notifications to the device from your servers. Push notifications can show a message to user, set the app badge or transfer data to the app:

First please review our documentation for the UNNotification functions. When you add the MBS Plugin to the project, please also add our MBSInit framework. You may need to split both to only include the arm versions in the final app to run on a device.

After your app launched on a device, you may be asked to allow notifications. This happens only if MBSInit framework is loaded and triggers the early initialization of our plugin. The function UNNotification.RemoteNotificationsDeviceToken returns you the device token as a long text with hex encoding. If something goes wrong, you get an empty text there and the function UNNotification.RemoteNotificationsError will give an error message, e.g. that this is not available in simulator.

You can check permissions with UNNotification.IsRegisteredForRemoteNotifications later. The new functions UNNotification.AuthorizationGranted and UNNotification.AuthorizationError let you know about whether you can work with notifications. But most likely you will check with UNNotification.NotificationSettings directly for what is available or allowed. The user can for example allow you badge changes, but not popups.

Let me know if you like to try this and need assistant. You should be able to get notifications to show messages to the user, launch the app and trigger scripts. Even the sending of notifications to devices should work via MBS Plugin by using CURL functions to talk to Apple's web service.

MBS Booth ready for FileMaker DevCon

Please come and visit me in the booth #25 at FileMaker DevCon:

MBS Booth

As usual you can come by, read the posters, ask me questions and talk with me about existing and future features.

The big cleanup for our Xojo plugins

There is something I’d like to talk about. Fewer people are using Real Studio and as we approach the end of live for 32-bit on all operation systems, the days of Real Studio are counted. Everyone should move this year to Xojo in order to support 64-bit later this year.

For my Xojo and Real Studio plugins, I do consider dropping Real Studio versions. Old plugins stay of course available for a long time, but download rates on current plugins in the Real Studio format are far down (<3%). Would someone miss newer plugins not being available in Real Studio format?

Second I may do a big cleanup and remove old stuff like everything related to QuickTime, FSSpec, GWorld pictures and maybe a few more like the older overlay window class. We could even consider dropping Carbon for Mac. Wait, I think this is still used for console projects, so we may need to keep it around.

On the plugin itself, we may merge some to reduce the number of plugins we deliver and make it easier to manage them. Or otherwise split them more into individual ones, so you can easier sort out the parts you don’t need. Not sure yet.

Otherwise I could really cleanup more aggressive and remove some parts. For example the ImageMagick plugin is not well maintained by me as I favorite the GraphicsMagick one for my own projects. Same for the PHP plugin which is not the best thing in the world as the php code misses usually extensions and the apache environment. Next to drop could be LCMS Plugin for the older 1.x version of the library. Everyone should have moved to 2.x already.

In general unless a lot of people relay on something, the cleanup could make my life easier, the build processes and deployment faster and finally with less plugins to load actually give faster Xojo startup times.

What do you think?

FileMaker DevCon to start soon

You can already go downstairs and register.
And you can see the posters from sponsors as well as the floor plan to find the booths:

Meet me at booth #25 tomorrow and let me know your favorite plugin function!

Face detection via CoreImage in FileMaker

If you like , come to my booth at FileMaker DevCon and ask me about using CoreImage's detectors to find faces, text, rectangles and QRCodes on a picture. You can check whether faces are like in this picture on the right.

So the example database has a script to detect faces and than color them in yellow with some dots for eyes and mouth. Check out our example script for this:

Set Field [ Core Image Detection::Result ; MBS( "CoreImage.Detect"; Core Image Detection::Image; Core Image Detection::Type; "Smile¶EyeBlink" ) ] 

# Show areas

If [ MBS("IsError") = 0 ] 

Set Variable [ $json ; Value: MBS( "JSON.Parse"; Core Image Detection::Result ) ] 

Set Variable [ $count ; Value: MBS( "JSON.GetArraySize"; $json ) ] 

Set Variable [ $image ; Value: MBS( "GMImage.NewFromContainer"; Core Image Detection::Image ) ] 

Set Variable [ $imageHeight ; Value: MBS( "GMImage.GetHeight"; $image) ] 

If [ $count > 0 ] 

# for loop

Set Variable [ $index ; Value: 0 ] 


Set Variable [ $item ; Value: MBS( "JSON.GetArrayItem"; $json; $index) ] 

# draw area

Set Variable [ $x ; Value: MBS( "JSON.GetPathItem"; $item; "x" ; 1  ) ] 

Set Variable [ $y ; Value: MBS( "JSON.GetPathItem"; $item; "y" ; 1  ) ] 

Set Variable [ $w ; Value: MBS( "JSON.GetPathItem"; $item; "width" ; 1  ) ] 

Set Variable [ $h ; Value: MBS( "JSON.GetPathItem"; $item; "height" ; 1  ) ] 

Set Variable [ $y ; Value: $ImageHeight - $y -$h /* coordinates from CoreImage are swapped vertically */ ] 

Set Variable [ $r ; Value: MBS( "GMImage.SetFillColor"; $image; "#FFFF00" ) ] 

Set Variable [ $r ; Value: MBS( "GMImage.DrawRectangle"; $image; $x; $y; $x+$w; $y+$h ) ] 

# left eye

Set Variable [ $hasLeftEyePosition ; Value: MBS( "JSON.GetPathItem"; $item; "hasLeftEyePosition" ; 1  ) ] 

If [ $hasLeftEyePosition = 1 ] 

Set Variable [ $x ; Value: MBS( "JSON.GetPathItem"; $item; "leftEyePositionX" ; 1  ) ] 

Set Variable [ $y ; Value: MBS( "JSON.GetPathItem"; $item; "leftEyePositionY" ; 1  ) ] 

Set Variable [ $y ; Value: $ImageHeight - $y /* coordinates from CoreImage are swapped vertically */ ] 

Set Variable [ $r ; Value: MBS( "GMImage.SetFillColor"; $image; "blue" ) ] 

Set Variable [ $r ; Value: MBS( "GMImage.DrawRectangle"; $image; $x-20; $y-20; $x+20; $y+20 ) ] 

End If

# right eye

Set Variable [ $hasRightEyePosition ; Value: MBS( "JSON.GetPathItem"; $item; "hasRightEyePosition" ; 1  ) ] 

If [ $hasRightEyePosition = 1 ] 

Set Variable [ $x ; Value: MBS( "JSON.GetPathItem"; $item; "rightEyePositionX" ; 1  ) ] 

Set Variable [ $y ; Value: MBS( "JSON.GetPathItem"; $item; "rightEyePositionY" ; 1  ) ] 

Set Variable [ $y ; Value: $ImageHeight - $y /* coordinates from CoreImage are swapped vertically */ ] 

Set Variable [ $r ; Value: MBS( "GMImage.SetFillColor"; $image; "blue" ) ] 

Set Variable [ $r ; Value: MBS( "GMImage.DrawRectangle"; $image; $x-20; $y-20; $x+20; $y+20 ) ] 

End If

# mouth position

Set Variable [ $hasMouthPosition ; Value: MBS( "JSON.GetPathItem"; $item; "hasMouthPosition" ; 1  ) ] 

If [ $hasMouthPosition = 1 ] 

Set Variable [ $x ; Value: MBS( "JSON.GetPathItem"; $item; "mouthPositionX" ; 1  ) ] 

Set Variable [ $y ; Value: MBS( "JSON.GetPathItem"; $item; "mouthPositionY" ; 1  ) ] 

Set Variable [ $y ; Value: $ImageHeight - $y /* coordinates from CoreImage are swapped vertically */ ] 

Set Variable [ $r ; Value: MBS( "GMImage.SetFillColor"; $image; "red" ) ] 

Set Variable [ $r ; Value: MBS( "GMImage.DrawRectangle"; $image; $x-50; $y-20; $x+50; $y+20 ) ] 

End If

# next

Set Variable [ $index ; Value: $index + 1 ] 

Exit Loop If [ $index >= $count ] 

End Loop

End If

Set Variable [ $r ; Value: MBS( "JSON.Release"; $json ) ] 

Set Field [ Core Image Detection::Output ; MBS( "GMImage.WriteToPNGContainer"; $image; "test.png" ) ] 

End If

As you see we just get back a JSON block with an array of items, where we loop through and draw each area in yellow and if available we draw eyes and mouth. The JSON looks like this with one face:



    "rightEyeClosed" : false,

    "mouthPositionX" : 279.5625,

    "hasRightEyePosition" : true,

    "leftEyePositionY" : 1606.5,

    "hasLeftEyePosition" : true,

    "trackingFrameCount" : 0,

    "hasMouthPosition" : true,

    "type" : "Face",

    "x" : 66.9375,

    "mouthPositionY" : 1452.9375,

    "y" : 1350.5625,

    "trackingID" : 0,

    "hasFaceAngle" : true,

    "width" : 401.6250,

    "height" : 401.625,

    "leftEyePositionX" : 212.625,

    "hasSmile" : false,

    "leftEyeClosed" : false,

    "rightEyePositionY" : 1606.5,

    "hasTrackingID" : false,

    "hasTrackingFrameCount" : false,

    "faceAngle" : -7,

    "rightEyePositionX" : 366.1875



This can be very useful for some databases as we can leverage Apple's libraries to find faces, detect QRCodes, find text and rectangle areas. For the text areas, you can pass those to OCR functions later.

PS: CIDetectorMBS class does the same in Xojo.

Raw Sockets for Xojo

As you may know Xojo has a TCPSocket and an UDPSocket class for taking TCP and UDP protocol with other applications and define your own protocol on top. In our plugin we have a UDPSocketMBS class for more options and even an UDPSocket class for iOS. If you need high level application protocols like HTTP, FTP, SMTP or IMAP, you can always use our CURL Plugin.

Now recently someone asked for a raw socket to go more low level. So I implemented RAWSocketMBS, which allows you to specify in detail the address family, socket type and protocol you like to use. And this includes using raw sockets where you can provide your own headers for IP packets. For a truly raw socket, your app needs root permissions on a computer as you can mess up a lot by sending wrong IP packets, so be careful!

So our new RawSocketMBS class can be simply used to make your own UDP/TCP socket, one for ICMP to ping or any of the other 30 protocols. You can decide if you let the OS create the headers for your packets or you create them yourself.

If you like to try, either wait for 17.4 prerelease plugins or email me for an early beta.

MBS FileMaker Plugin 7.3 - More than 4800 Functions In One Plugin

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

This plugin got a couple of features for use with iOS SDK. You can offer the user a configurable email or message composer. Your script configures the message and provides recipients, content and attachments. The user can edit the email or text message and send it. Similar is our social composer which allows you to post on Facebook, Twitter, SinaWeibo and TencentWeibo. Again your solution can provide content including text, URL and image and the user can edit and post. For iOS you can now use DynaPDF functions to process PDFs on iOS devices.

Our BinaryFile function allows to read and write any file type. Raw file reading and writing can be very useful to handle import or export in application specific file formats.

For the script workspace our zoom controls can now be triggered with command + and - keys. Script lines which are set to gray color by FileMaker now keep the gray color so you can identify incompatible script steps easier. Our variable check can now detect declarations via comments.

When handling big XML documents, you can now parse them once using XML.Parse and than query the object in memory often. As parsing is done only once, the performance is much better.

When playing a movie inside an interactive containers on Mac and iOS, you can now identify the AVPlayer used by FileMaker and control it from our plugin. For example you can get pictures for the current playing frame.

For FileMaker 16 we updated the WebView functions for website passwords (HTTP Authentication), so you can set the passwords and avoid login dialogs. For the new card window type, we can watch for mouse clicks on the side and trigger a script to close the card window.

We got SSE2 enabled PNG reading, Audit with UUIDs, Dialog positioning, Metafile conversion (EMF/WMF) for DynaPDF, lower memory usage for queued email sending and speak commands for iOS.

Finally we updated OpenSSL to 1.1.0f and 1.0.2l, libPNG to version 1.6.30, discount library to 2.2.2, SQLite to 3.19.3, DynaPDF to and we use the FileMaker 16.0.2 Plugin SDK now.

See release notes for a complete list of changes.

MonkeyBread Software Releases the MBS Xojo Plugins in version 17.3

Nickenich, Germany (July 18th, 2017) -- Monkeybread Software releases version 17.3 of the MBS plug-in for Xojo.

The MBS plug-in comprises a collection of several plug-in parts which extend the Xojo development environment with 2,400 classes featuring over 62,000 documented functions. Our plugins support all three platforms Mac OS X, Windows and Linux with all project types desktop, web and console including 64-bit and ARM targets.

Some of the highlights on the 17.3 update:

If you are interested in using SNMP (Simple Network Management Protocol) queries to check status of your network devices, you can now use our NetSNMPMBS class.

To select fonts on Windows you can now use the WindowsFontDialogMBS class. The dialog can be preset, provides an apply button with an event to live show the new font in your document and various other events to know its state. With various properties you can customize the appearance of the dialog.

While the next macOS version is in beta, we already implemented new functions to support newer image and video formats there. This plugin also fixes a few issues, so you can now use our plugins on the latest macOS beta.

For our XL functions to read and write Excel documents, we can now load and save partial documents. If you have huge documents, using a temporary file can reduce the memory requirements. And if you only need data from one sheet inside a big document, loading only that one sheet can speed up processing a lot.

For CipherMBS class we changed CipherInit, EncryptInit and DecryptInit methods to return a boolean and indicate whether they were successful. You may need to update your code.

Our WindowsDeviceModeMBS class is updated for handling setup strings better in Xojo 2017r1. This is important as the format changed and you may want to avoid trouble.

We got PNG library with SSE2 for Mac enabled, context menu in overlayMBS, better handling of emails, better PDFKit annotations, CURL form data inspection and much more.

Finally we updated SQLite to 3.19.3, PostgreSQL to version 9.6.3, OpenSSL to 1.1.0f and 1.0.2l, libPNG to version 1.6.30 and DynaPDF to

See release notes for a complete list of changes.

MBS FileMaker Plugin 7.3 - Über 4800 Funktionen in einem Plugin

18. Juli 2017 - Monkeybread Software veröffentlicht heute das MBS Plugin für FileMaker in Version 7.3, mit inzwischen über 4800 Funktionen eines der größten FileMaker Plugins überhaupt. Hier einige der Neuerungen:

Dieses Plugin hat viele neue Funktionen für das iOS SDK. So können Sie dem Benutzer einen Email oder iMessage Dialog anbieten. Per Skript konfigurieren Sie die Nachricht mit Empfänger, Inhalt und Anhängen. Der Benutzer kann dann die Nachricht bearbeiten und abschicken. Ähnlich funktioniert der Social Composer Dialog, mit dem man auf Facebook und Twitter posten kann. Wiederum können Sie per Skript den Text, URLs und Bilder übergeben und der Benutzer die Nachricht bearbeiten und absenden. Für iOS können Sie jetzt auch die DynaPDF Bibliothek verwenden zum Editieren von PDF Dateien direkt auf dem iOS Gerät.

Unsere BinaryFile Funktionen erlauben jeden Dateityp zu lesen und zu schreiben. Das direkte lesen von Bytes in Dateien kann sehr nützlich sein für den Import und Export von anwendungsspezifischen Dateiformaten.

Beim Skript Arbeitsbereich können Sie jetzt unsere Vergrößerungsknöpfe per Tastatur ansprechen mit der Tastenkombination + und - mit der Befehlstaste. Zeilen im Skript, die von FileMaker auf grau gesetzt werden, bleiben jetzt auch grau, so dass Sie inkompatible Skriptschritte leichter finden können. Die Überprüfung von Variablennamen kann nun auch Variablennamen berücksichtigen, die per Kommentar deklariert wurden.

Wenn Sie große XML Dateien verarbeiten möchten, können Sie die Datei nur einmal mit XML.Parse einlesen und dann Abfragen im Speicher durchführen. Da das XML nur noch einmal gelesen wird, können ihre Skripte viel schneller einzelne Werte abfragen.

Wenn Sie einen Film in einem interaktive Container auf macOS und iOS abspielen, können Sie jetzt die Referenz zum AVPlayer bekommen und ihn via Plugin steuern. Zum Beispiel um ein aktuelles Bild vom Film abzufragen.

Für FileMaker 16 funktionieren jetzt auch die Authentifizierungsfunktionen im Webviewer, so dass Sie dem Plugin Passwörter mitgeben und diese automatisch benutzt werden ohne dass der Benutzer einen Passwort Dialog sieht. Für die Karten können Sie via Plugins auf Mausklicks außerhalb der Karte reagieren und diese per Skript schließen.

Außerdem haben wir noch SSE2 Beschleunigung für PNG Dateien, Audit mit UUIDs, Dialogpositionierung, Metadateien konvertieren (EMF/WMF) mit DynaPDF, geringere Speicherverbrauch beim Emailsenden und Sprachausgabe für iOS.

Wir haben die OpenSSL auf Version 1.1.0f bzw. 1.0.2l aktualisiert, libPNG auf 1.6.30, discount auf 2.2.2, SQLite auf 3.19.3, DynaPDF auf und wir verwenden jetzt das FileMaker Plugin SDK 16.0.2.

Alle Änderungen in den Release Notes

FileMaker Spanish Devcon 2017

In October all around Europe are conferences for FileMaker.
You can meet me at the German conference in Salzburg and this year also at the Spanish conference in Madrid:

20th to 21st October 2017 in Madrid. See Website
Maybe I can get a short session to talk a bit about my plugin :-)

4800 functions in MBS Plugin

Did you notice we just passed the 4800 function mark with version 7.3?

Just a new record reached just before DevCon.
And well, the posters are printed already for 4700...

The number of functions is always outdated.

Recent additions where new BinaryFile functions, more XL functions and the XML functions for incredible performance.

Did you notice we added over 100 iOS only functions for 7.3 release?

MBS Xojo Plugins, version 17.3pr7

New in this prerelease of the 17.3 plugins:
  • Added WindowsDeviceModeMBS.ApplyToSetupString method.
  • Updated WindowsDeviceModeMBS class methods for SetupString to handle 2017r1 SetupString format.
  • Added XLBookMBS methods to load partially and load/save with temp file.
  • Added GMImageMBS.PNGLibVersion function.
  • Changed Contacts, CoreLocation and MapKit plugin parts to better load on macOS 10.13 and not crash.
  • Added check to CGPDFDocumentMBS to raise out of memory exception in low memory conditions to avoid crashes later.
Or ask us to be added to our shared Dropbox folder.

MBS FileMaker Plugin, version 7.3pr7

New in this prerelease of the 7.3 MBS FileMaker Plugin: Download at or ask for being added to the dropbox shared folder.

MBS Xojo Plugins, version 17.3pr6

New in this prerelease of the 17.3 plugins:
  • Enabled SSE2 extension for libPNG for macOS as all Macs with Intel CPU should have SSE2.
  • Updated libPNG to version 1.6.30.
  • Updated DynaPDF library to version
Or ask us to be added to our shared Dropbox folder.

MBS FileMaker Plugin, version 7.3pr6

New in this prerelease of the 7.3 MBS FileMaker Plugin:
  • Added Text.ReplaceAll function.
  • Improved speed of XML functions.
  • Added Plugin.PNGVersion function.
  • Updated libPNG to version 1.6.30.
  • Updated DynaPDF library to version
  • Updated to FileMaker 16.0.2 SDK.
  • Enabled SSE2 extension for libPNG for macOS as all Macs with Intel CPU should have SSE2.
Download at or ask for being added to the dropbox shared folder.

3 Monate bis zur FileMaker Konferenz in Salzburg

In gerade mal drei Monaten startet die FileMaker Konferenz in Salzburg.
So langsam füllt sich die Konferenz und inzwischen steht auch das Programm.

Vom 12. bis 14. Oktober 2017 treffen sich wieder ca. 200 Teilnehmer im Pitter in Salzburg. Die deutschsprachige FileMaker Entwickler treffen sich um Neuigkeiten zu FileMaker zu erfahren, mit den Mitarbeitern von FileMaker in Kontakt zu kommen und um alte Freundschaften zu pflegen.

Bitte bald anmelden um ein Ticket zu bekommen. Die Konferenztickets und die Zimmer im Hotel Crowne Plaza Salzburg waren in den vorherigen Jahren schon vor der Konferenz ausverkauft.

Für die MBS Plugin Schulung am 11. Oktober sind noch Plätze frei. Nehmen sie sich einen Tag Zeit zu erfahren, was alles im MBS Plugin steckt, was dieses Jahr neu ist und probieren wir direkt einige Funktionen aus. Je nach den Wünschen der Teilnehmer bauen wir gerne neue Beispiele, die dann bestimmte Funktionen zeigen.

Summer Sale in Xojo Store

Xojo Inc. announced a sale in their store for add-ons to Xojo:

Sale in the Xojo Add-On Store - 20% off!

Beat that summer heat, stay inside with Xojo! Between today and July 16th, shop our add-on store and save 20%, sale includes XDC Videos! Simply use discount code SPLASH when you check out in the store!

Shop the Xojo Add-ons store to find third party products that will help you develop faster and do more! The store includes developer tools, user interface add-ons, database extensions, distribution tools and learning materials, like training videos and magazine subscriptions.

Get access to the 2015 or 2016 Xojo Developer Conference session videos (plus slides) for 20% off. And don't forget, you can still save $200 on your XDC 2018 registration when you sign up now!

Shop now!

If you like, you can get MBS licenses there or contact us directly for the same discount on new licenses.
Same coupon code should work for MBS Orders via Share-It.

FileMaker updates to version 16.0.2

FileMaker Inc. just released an update to it's FileMaker Platform:

FileMaker, Inc. has released FileMaker Pro 16.0.2, FileMaker Pro 16.0.2 Advanced, FileMaker Go 16.0.2, and FileMaker Server 16.0.2. The FileMaker 16.0.2 Platform includes bug fixes and security updates.

Learn more:
FileMaker Pro
FileMaker Go
FileMaker Server
FileMaker Go (App Store)
iOS App SDK (FileMaker Developer Subscription required for access)
FileMaker Server 16.0.2

FileMaker Plug-in SDK

We'll soon update plugins for new plugin SDK and start testing with new version.

MBS Xojo Plugins, version 17.3pr5

New in this prerelease of the 17.3 plugins: Download:
Or ask us to be added to our shared Dropbox folder.

MBS FileMaker Plugin, version 7.3pr5

New in this prerelease of the 7.3 MBS FileMaker Plugin:
  • Changed script coloring to keep gray script lines (deactivated or incompatible) in gray.
  • Updated OpenSSL to 1.1.0f and 1.0.2l
  • Calling StoreRegistration function now also invokes Register to test the key before storing it.
  • Changed SQL.GetFieldAsNumber and SQL.GetParamAsNumber to return numbers outside 32-bit integer as text (now corrected).
  • Added Filter column functions for Excel functions.
  • Changed linux linking to avoid loader to connect function to wrong library if several versions of the library exists.
Download at or ask for being added to the dropbox shared folder.

New Country and Territory promotion

As you may know our MBS Plugins are used in over 55 countries (FileMaker) and 74 countries (Xojo).

But still there are a lot of countries left, so we’d like to offer a promotion:

Get a second year of updates for free when purchasing a new license from us in July when the order comes from a country we not yet have customers from. For some bigger countries, new state/province is also fine.

After a purchase, we can definitive say whether you are from a not yet listed country, so please contact us before/after purchase to check.

You may wonder which countries we don’t have clients from?

In Europe for example Poland, Ukraine, Serbia and Bulgaria.
In North America for example Alaska, New Mexico and Maine in USA, Ontario in Canada.
In South America for example Peru, Ecuador, Panama and Guyana.
In Asia for example Vietnam, Indonesia or Pakistan.
In Africa there is a lot of space between Egypt and South Africa.

In Europe for example Lithuania, Montenegro or the islands Sardinia and Corsica.
In North America for example Alaska and South Dakota.
In South America for example Peru or Nicaragua.
In Asia for example Vietnam, Bangladesch and Papua-Neuguinea.
In Africa anything between Namibia and Egypt.

So if you like to get a license and contact us and we give you a free update if you add an entry to our country list or at least live somewhere we have no customers yet.

FileMaker error 1506

Please be aware about the FileMaker error 1506. It is supposed to mean that an email was not sent correctly.
But I just learnt that it could mean the opposite. So you can get this error, if the email connection is dropped or server doesn't answer quick enough after email was sent.
Now for some servers this means that checking attachment for viruses takes a second too long and FileMaker considers it as an error (timeout), but email is still sent.

So please don't use error 1506 as the truth about the email sent / not sent status. More like an "Email was most likely not sent" error, but you can't be sure.

Otherwise, if you use MBS Plugin with the SendMail functions, you could of course always check the debug logs from our CURL functions for exact status.
There you would see difference between timeouts and error from server.

MBS Plugin vs. Insert From URL in FileMaker 16

Recently clients wondered what the can do with the new CURL functions in FileMaker 16 and how it compares to the plugin functions.

So I spend some time to put together a table to show the differences. FileMaker implemented new options so you can do all the REST API calls you need to do and they include a lot of options for various HTTP and SSL options.

But our plugin can do much more. We include SSH library for SFTP, do much more for email transfers and allow it to run in background. Please review the table: (more)

xDev Magazine Issue 15.4 Issue

The July/August (15.4) issue of xDev Magazine is now available. Here's a quick preview of what's inside:

Shrink Your Apps by Mattias Sandstrom
Mattias with some techniques to make your built apps smaller.

Windows Fast Listbox Updating by Eugene Dakin
If you want your listboxes updated quickly, you can run into flickering on Windows. Eugene shows how to solve that with some handy routines.

Berlin, Here I Come by Marc Zeedar
Marc went overseas for the first time in years for the MBS Xojo Conference in Germany in May. Here's what happened, with gobs of photos.

Sharing Data for Health, Part 2 by Jc Cruz
Jose concludes the data sharing project he started last issue.

Optimizing Xojo Apps by Christian Schmitz
Xojo is great at handling many technical details for you, but some of that management costs performance. Christian shows how to avoid the slowdowns with these tips.

Plus: Xojo and WWDC, initializing controls, pg_dump, and more!


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