Double Underlined Text in DynaPDF

The DynaPDF version showed up and features the use of the new \dl# tag to double underline text.

Our code for DynaPDF.ConvertStyledText in the MBS FileMaker Plugin got updated and other functions like DynaPDF.WriteStyledText will use this, too. So you can now pass styled text from FileMaker to our plugin and we can convert the styled text and preserve the double underline.
Coming soon with next pre-release.

Two copies of MBS Plugin

Having two copies of MBS Plugin installed/loaded at the same time can cause various problems. Functions get loaded, but we internally can't know which version gets called. This may cause crashes, if old and new versions have incompatible data structures.

Our plugin has code to detect duplicate versions and it can show this kind of dialog on the right.

Now it seems to happen, that a few customers run into an issue, where this dialog would show when updating a plugin.

FileMaker has an MBS Plugin version loaded. Then the Install Plugin script step writes the new plugin to the same location. FileMaker loads the new plugin, but the OS sees that the plugin with that path is already loaded. FileMaker gets the old plugin again, calls initialize function and this was detects it was called before.

With version 11.5pr5, we put in a check to prevent this. The new plugin ignores if old and new path are the same, but will complain if you have two copies in different Extensions folders. This should fix trouble for the clients mentioned above.

WebHook Introduction

Nowadays we live in a connected world, so web services run on different computers and sometimes need to notify each other. They usually do that with sending a HTTP request to a given URL and pass on some data as part of the URL or e.g. a JSON block as payload. FileMaker has no built-in web hook feature and with FileMaker Server you can do some things with DATA API or a custom php script on the web server part.

Our MBS FileMaker Plugin in version 11.5 comes with a new WebHook functionality. You can open a receiver to listen on a port for an incoming request and trigger a script to process the query. Our plugin provides maximum flexibility as you can create listeners as needed by script and stop them when the job is done.

Let's say you have a phone system, which can trigger you for a new incoming call. You configure for each phone an URL to trigger for that computer and have FileMaker listen on that computer for the given port. In our examples we use port 9999, but that could be any number chosen by you between 1024 and 65535. Please don't use ports other application want to use like port 5003 for FileMaker. If the IP on the local network for our workstation is, we could have the following URL triggered by the phone system:

As you see we built an URL with http for the protocol. If needed, we could do https with TLS v1.2, but that needs a SSL certificate of course. If you like to simulate this, you could open a browser and enter the URL or run curl in the Terminal window:

curl -v http://localhost:9999/incomingcall


MBS FileMaker Plugin, version 11.5pr4

New in this prerelease of version 11.5 of the MBS FileMaker Plugin:
  • Updated DynaPDF to version
  • Added Float 16bit support for CoreML functions.
  • Updated Xcode to version 13.1.
  • Fixed a problem with removeObserver for macOS Monterey.
  • Added fraudulentWebsiteWarningEnabled and textInteractionEnabled settings for WebView.GetPreferences and WebView.SetPreferences functions.
  • Fixed an edge case for WordFile.Substitute not working correctly for text near the end of the document.
Download at, in Dropbox folder or ask for being added to the dropbox shared folder.

SyntaxColoring Updates

For MBS FileMaker Plugin version 11.5 we got a few new improvements for the syntax coloring.

First, SyntaxColoring.AddTag can now do formula tags with wild cards. Just define a tag with stars on beginning and end to get that color rule applied on the end over all other rules:

MBS( "SyntaxColoring.AddTag"; "formula"; "*deprecated*"; "red" )

This rule would mark everything with deprecated in a formula text with red color. Great if you have fields you want to get rid off. Rename the field to have deprecated in the name and then walk your way through calculations to easily spot the field name.

We got a new way to color comments in calculations. When we detect a comment with // or /* in your calculation, we can pick up the first word after that and lookup if a special color is defined. We look first in formula colors and then in script step colors for this with the # prefix. For example you may define a generic comment color. Then maybe define a few more special colors like one for #todo, another one for #fixme or one for #warning.

We hope those coloring options help you. Check the new fmSyntaxColorizer for a clever GUI to setup all the options or do it yourself via our SyntaxColoring functions.

Join Russell Watson tonight on live broadcast talking about fmSyntaxColorizer.

MBS FileMaker Plugin, version 11.5pr3

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

Transparent WebViewer

You know a web viewer showing white background?

If you use WebView.SetDrawsBackground function with next MBS FileMaker Plugin, you can disable it and turn the web viewer into transparent mode:

So far transparency works on macOS and iOS and may help you to design improved JavaScript-based controls.
Coming soon with next pre-release.

FileMaker Konferenz 2022 in Hamburg

Vom 22. bis 24. Juni 2022 findet die elfte 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 bald buchen.

Möchten Sie Sponsor oder Sprecher werden?
Aktuell sucht der FMK Verein Vorschläge für interessante Vorträge.

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

Gibt es Interesse an einem MBS Plugin Workshop am Tag vor der Konferenz?

MBS FileMaker Plugin, version 11.5pr2

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

Use text fields for numbers

Due to current events in an office nearby, here again an announcement announcement for all database developers:
Please treat the following numbers as text for processing and storing in a database.

Zip codes
While we call them zip numbers in Germany and they are just five digits here, a zip code may contain various other characters like letters, spaces and dashes. e.g. "SW1A 1AA" is a valid zip code in the United Kingdom. The length of post codes may be over 10 characters in some places and contain leading zeros. In Argentina even a plus may be used like "46C2+32".

Invoice Numbers
The number on an invoice, an offer or an order often has a scheme defined by the used software. Some companies use dashes to separate sections of the number like year-branch-number to give each shop branch their own running count for invoices. We have seen invoices numbers with prefix or postfix to indicate branches or types of invoices. (more)

Calculate Text Sizes

Sometimes you may want to know how much text fits a certain space or reduce text to fit. The common problem is that you have a long text like "Johannes Zimmermann" and the field is too small to fit the whole text. Then FileMaker may only show "Johannes" and the whole surname wraps to second line.

Our plugin can help and offers a few functions related to fonts. For example Font.CalculateTextWidth can calculate the length of a text in points, so you know whether text will fit.

MBS( "Font.CalculateTextWidth"; "Hello World"; "Arial"; 12 )

Your calculation may for example detect that the whole name doesn't fit. But maybe "Mr. Zimmermann" fits and then you may use that one.

Now if you like to know whether text will fit in height, you can use Font.CalculateTextHeight functions.

MBS( "Font.CalculateTextHeight"; "Hello World. Just a test."; 100; "Arial"; 12 )

This would use 100 points as wrap limit, so we get a second row of text. The height returned here should be something like 36 points. The actual numbers are not identical for macOS and Windows since both OS have their own way of anti aliasing and get different sizes for various letters, even for the same font.

The third function Font.CalculateTextFits will take a text and return the number of characters, that fit in a given space.

MBS( "Font.CalculateTextFits"; "Hello World"; 50; "Arial"; 12)

This may return 8 here as 50 points don't fit the full text "Hello World", but only "Hello Wo". Your script may then decide to cut two more characters and put in three dots.

A specialty is that the font parameter can be a font name specifying the exact font if needed on macOS. Since Arial bold has a separate font file called Arial-BoldMT, you can specify that to pick the bold font.

MBS FileMaker Plugin, version 11.5pr1

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


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