Copy and paste XML in FileMaker

You can copy and paste stuff in FileMaker: Layouts, script steps, scripts, custom functions, value lists, fields and table definitions. Each time FileMaker puts a XML on the clipboard, but you can't see it. It is kind of hidden, so FileMaker can find it for pasting. But you can't just paste it to your favorite text editor.

With MBS Plugin 15.4 we change this. Our plugin monitors when FileMaker goes to back or comes to the front and updates the clipboard:

If the clipboard has FileMaker's XML, we copy the XML into the text section, so you can paste it in a text editor.

If the clipboard has text, which is valid XML for FileMaker, but not yet the section that FileMaker looks for, we copy the XML into the right section. Then you can paste in FileMaker as usual.

You may wonder why we do this? Well we like to edit the XML in a text editor like BBEdit and then put it back.

(more)

Register custom functions with MBS Plugin

With MBS FileMaker Plugin 15.3 we allow you to dynamically register custom function via plugin functions. Yes, make your own functions on the fly and use them in all your database files. Instead of defining custom functions in FileMaker directly and then copying & pasting them to other files, you can store them in records and register them at startup.

Each function gets the following:

  • ID

    It needs an unique ID which is what FileMaker internally uses to find the function. Please use an ID >= 3 and assign them yourself to the functions.

  • Name

    An unique name, which doesn't match a FileMaker function or an existing custom function. Just like names in FileMaker, you may only use a subset of characters, e.g. no brackets.

  • Prototype

    The function needs to have a prototype for display in the function list.

    The prototype gives our parameters a name for the variables.

  • Expression

    You pass the calculation to evaluate. This is a FileMaker calculation just like in a custom function in FileMaker. You can use the names defined for variables in the prototype.

    Independent of parameter names, you can always use Plugin.CustomFunctionParameterCount to query the number of parameters and then query the value with Plugin.CustomFunctionParameter function. This allows your function to take a variable number of parameters.

    Since parameters are stored per thread, you may prefer to read any variable parameter values into local variables before doing any recursion.

  • Min/MaxParameter

    You can define a minimum and a maximum number of parameters. Both are optional and default to 0 for minimum and no limit (-1) for maximum parameters.

  • Flags

    For MBS Plugin 15.4 we add optional flags. Default is 0 here for compatibility with older versions. You can pass 1 to enable the use of JavaScript here. Later we added 2 for using JavaScript with WebKit instead of Duktape.

    Then we added the flag 4 which allows to remember values from one call to the next. Great for using multiple calls within a script and have one custom function take data, parse it and remember it, so other custom functions can read this data.

Once registered somewhere, you can use the functions everywhere in all calculations.

(more)

MBS FileMaker Plugin, version 15.4pr4

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


MBS @ FMTraining.TV - MBS Plugin 15.3

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 check out the new plugin version 15.3: Announcement, New functions, News article.

(more)

MBS FileMaker Plugin, version 15.4pr3

New in this prerelease of version 15.4 of the MBS FileMaker Plugin:
  • Rewrote Files.Mount for macOS to user newer API and get mounting of folders on shares via SMB.
  • Updated SQLite to version 3.50.4.
  • Fixed link detection to work again in calculations.
  • Fixed a case where FindBar in database designing dialog doesn't work.
  • Fixed a bug in SQL.ConvertDateTimeFromSQL not returning proper error status.
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.


ListDialog for iOS

For MBS FileMaker Plugin 15.3 we added iOS support to the ListDialog functions in addition to MacOS and Windows.

You can just use it anywhere in a script or calculation to have the user pick something from a list. For example you can fill the list with a text field holding all options. or you use SQL to either go over values in a table to collect them (with distinct option) or you use FileMaker_ValueLists in SQL to query a value list content.

Here a small example script:

Set Variable [ $r ; Value: MBS("ListDialog.Reset") ]
Set Variable [ $r ; Value: MBS("ListDialog.SetPrompt"; "Please select your country:") ]
Set Variable [ $r ; Value: MBS("ListDialog.SetShowsFilter"; 1) ]
Set Variable [ $r ; Value: MBS("ListDialog.SetAllowMultipleSelection"; 0) ]
Set Variable [ $r ; Value: MBS("ListDialog.AddItemsToList"; PlaceHolder::Countries) ]
Set Variable [ $r ; Value: MBS("ListDialog.ShowDialog") ]

Set Field [ PlaceHolder::Result ; $r & ": " & MBS("ListDialog.GetSelectedTitle") ]

There are a couple of differences.

  • iOS list is one column. Second column content would go into a second line below.
  • There are no column headers, but groups exist.
  • There are no checkboxes for iOS
  • For iOS we show the dialog full screen, so no positioning.
  • There is no window title on iOS.
  • iOS has no window widgets, so no close box. You need to have at least a button to close the dialog.

Please try the functions and let us know if they work well for your iOS application made using the FileMaker iOS SDK.


Noch einen Monat bis zur FileMaker Konferenz 2025 in Hamburg

Noch einen Monat: Vom 14. bis 17. September 2025 findet die nächste deutschsprachige FileMaker Konferenz in Hamburg, Deutschland statt. Das JUFA Hotel Hamburg HafenCity liegt direkt neben dem Ausgang der U-Bahn Station HafenCity Universität, nur drei Stationen vom Hauptbahnhof via U4, so dass sich die Anreise per Bahn empfiehlt. FileMaker Anwender und Entwickler können ihre Teilnahme buchen.

Wir sind mit drei Vorträgen dabei:

  • Christian Schmitz: MBS Sponsored Session zu neuem in 2025
  • Stefanie Juchmes: Keine Angst vor Scripten und Funktionen
  • Stefanie Juchmes: Scripte auf dem Server

Weitere Vorträge im Konferenzplan.

Die Veranstalter vom Verein FM Konferenz erwarten auch 2025 rund 120 Entwickler, Anwender, IT-Fachleute und Entscheidungsträger aus Wirtschaft, Bildung und Verwaltung. Rund um 24 Fachvorträge und Workshops wird es viel Zeit zum Vernetzen in den gemeinsamen Pausen und beim Abendprogramm geben.

Weitere Konferenzen hier.


MBS FileMaker Plugin, version 15.4pr2

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


EngageU - FileMaker Conference in three months

Just three months until the EngageU conference. ClickWorks and Square Moon continue to organize a pan-european conference for Claris FileMaker developers from all over the world.

EngageU - FileMaker Conference   9th - 11th of November 2025, Antwerp, Belgium

(more)

Round corners for iOS

For the next version we include round corners for the iOS SDK with the Window.SetRoundCorners function in MBS FileMaker Plugin.

You can call Window.SetRoundCorners just after showing the card window. Our plugin will look for the top most card window and apply the corners.

Since there may be a short delay before FileMaker actually creates the card and shows it, we need to wait a bit. In our sample script, we perform a short script pause. Then even if FileMaker animates the card, the plugin can find it and apply the corners.

Here is a sample script for iOS:

New Window [ Style: Card ; Name: "test" ; Using layout: “PlaceHolder” ]
Pause/Resume Script [ Duration (seconds): ,1 ]
Set Variable [ $r ; Value: MBS( "Window.SetRoundCorners"; 0; 12) ]

If the pause is too short, the card may not be yet there and we may apply the corners to the main view.

To use this feature on iOS, you need to use Xcode to build yourself a branded FileMaker Go clone with our plugin embedded in the app. With a pure FileMaker Go this would not work.

For desktop and iOS you can just have the pause and the Window.SetRoundCorners call in script. If the plugin is not installed or activated, the call will just do nothing.

In MBS Plugin 15.3 you can use the function for MacOS and Windows in FileMaker Pro already. With version 15.4 we add iOS support.

Please try the function and let us know if you have questions.


MBS FileMaker Plugin, version 15.4pr1

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


Archives

Dec 2025
Nov 2025
Oct 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
Mar 2010
Dec 2009
Nov 2009