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 talk about automatically installing the plugin with scripts. The we check DynaPDF functions to merge PDFs and convert HEIF/HEIC images to add them to the PDF. We render PDF pages and generate barcodes. A PDF form gets build, filled with data and exported. The user updates data and we import the changes back to FileMaker. We check toolbar functions to customize the toolbar in the FileMaker window on macOS. Finally we check email related functions like the EMailParser functions.

(more)

Self made charts in FileMaker

Recently we had the idea that we could draw charts ourselves with the GraphicsMagick functions. It's more a fun project, but I was able to draw a simple bar chart with a few drawing commands. We use a few filled rectangles to draw bars and calculate them on the fly in the while loop.

(more)

Filemaker: Export Text to File

In Filemaker you sometimes want to export text. For that people usually use the Export Field Contents script step in Filemaker. There you can specify a field and a filename. Filename can include variables and specify different paths on Mac and Windows. Field can be a field you select or the current field. If you export a container, you get the file written there (make sure you have right extension!) and for text it writes an UTF-16LE encoded text file.

Now sometimes you need more. Like you want to export values in a variable without putting them in a field. You may want to export text as UTF-8, MacRoman, Windows ANSI or some other text encoding instead of UTF-16LE. With Text.WriteTextFile you can specify the text encoding you want. Maybe you want to pass text before through Text.ReplaceNewLine to make sure the right newline character is used. For example CR for Classic Mac, CRLF for Windows or LF for Unix Mac OS X. Next you may want to write a log file and just append to a file with Text.AppendTextFile.

For containers you can export them with Container.Export. There you can specify a container as field or variable and a path to write to. And you select what to export. Like if your container contains a TIFF picture, you can either export the TIFF or the preview JPEG. The function Container.GetTypes tells you which types are in a container.

If you like, please check Container.Export, Text.AppendTextFile, Text.WriteTextFile or Text.ReplaceNewline.

Use complex text rendering with DynaPDF in FileMaker

Sometimes you may have a project where you need to output bidirectional text. If you output any of the following languages, you may need to think about how to handle the right to left direction:

  • Arabic
  • Aramaic
  • Azeri
  • Dhivehi/Maldivian
  • Hebrew
  • Kurdish (Sorani)
  • Persian/Farsi
  • Urdu

When you use DynaPDF in FileMaker with MBS FileMaker Plugin, you can use the DynaPDF.SetBidiMode function to enable bidirectional mode and set it to RightToLeft layout. Of course you need to load a font with unicode code page to have it cover all the characters. The bidi algorithm makes sure you can mix left to right and right to left text within a text, but you still need to define whether the layout is left to right or right to left. 


(more)

MBS FileMaker Plugin, version 15.3pr4

New in this prerelease of version 15.3 of the MBS FileMaker Plugin:
  • Updated mongo-c-driver to version 1.30.5.
  • Improved OCR error messages to state whether tesseract or leptonica library is not loaded.
  • Added search: prefix for comment links to jump to whatever text you provide.
  • Added SystemInfo.AppResourceUsageStatistics function.
  • Improved how we scroll lists to make sure more rows below and after a visible.
  • Improved debugger in FileMaker to scroll better and show a few rows adhead on stepping.
  • Improved our CopyButton to not show the warning in console about adding a button to the title bar.
  • Updated DynaPDF to version 4.0.102.290.
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.


IMAP Upload Flags

When you build a mail solution using our CURL functions in MBS FileMaker Plugin, you may use sample code to do an IMAP upload. Commonly you use this to upload an email to the Sent folder when you sent it via SMTP.

New in version 15.2 is the CURL.SetOptionUploadFlags function to pass the flags for uploads. In older CURL versions there was a default to set seen flag, but now you can and shouuld control it.

For example we can use this to set the seen flag for an email, when we upload it to the sent folder, so it doesn't appear as a new email. Or you can set the Flagged flag value to mark the email as flagged.

(more)

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)

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)

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.


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 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.


Archives

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