MBS FileMaker Plugin, version 5.1pr3

New in this prerelease of the 5.1 plugins:
  • Marked a lot of functions to not be available on server due to FileMaker Server not performing Script calls on the server.
  • Added TimeOut option for Socket.Connect.
  • Tracing script calls now shows also name of current script, file, user and host if available.
  • Fixed ZipFile.WriteText function. Now text is again parameter 1 and not 2.
  • Added functions FM.CurrentThreadID, FM.IsMainThread and FM.MainThreadID.
  • Improved copy script text button. Should not copy the list of available script steps.
Download at monkeybreadsoftware.de/filemaker/files/Prerelease/ or ask for being added to the dropbox shared folder.

FileMaker meetings in Texas

We'll have a meeting in Dallas (Texas) for Monday, 27th April 2015 with local FileMaker developers.

If you are using FileMaker and you are in the area, maybe you want to join us?
We'll chat about what's new in the FileMaker world, upcoming developer conference and of course our MBS Plugin.

The meeting will take place in a local restaurant, probably somewhere between Dallas and Fort Worth.
Participation is free, except the cost of your own food and beverage.
If you like to join, please email me, so we can reserve the right number of seats.

FileMaker and Xojo Meetings for Munich and Nuremberg

As I have work to do in southern Germany in April, we travel to Munich and Nuremberg.

This allows us to invite for local developer meetings there.

16th April, Xojo meeting in Munich
17th April, FileMaker meeting in Munich
20th April, Xojo meeting in Nuremberg
21st April, FileMaker meeting in Nuremberg

We have already 18 people on the list for those meetings. Now we look for a restaurant.

If you like to join us for dinner, please add yourself. We'll reserve a table in a nearby restaurant, meet and chat about development. Entry is free, but you have to pay for your dinner and drinks.

PS: If we don't have your email address, please also send us an email with contact details.

FileMaker DevCon in 4 months

The early bird offer ends in a few days, so be quick if you like to join the FileMaker Developer Conference in Las Vegas.

MBS will be present with a booth, so visit us there!

MBS SQLite Extension in version 1.4

NICKENICH, Germany (March 24th, 2015) -- Monkeybread Software releases version 1.4 of the MBS SQLite Extension.

The MBS SQLite Extension is a multifunctional extension to any SQLite powered application. You can use it as:
  • a plug-in for Cube SQL 4.0 from SQLabs or newer.
  • a plug-in for Studio Stable Database Server 2.0 or newer.
  • an extension to SQLiteDatabase class in Xojo
  • an extension to REALSQLDatabase class in Real Studio
  • a plug-in for the REAL Server from REALsoftware
  • an extension for SQLite which you can use in all SQLite based database applications like SQLiteManager application (from SQLabs).
New in Version 1.4:
Our SQLite Extension gives you over 50 new functions for SQLite:
  • Additional mathematical functions like Round or Pow.
  • Functions to save blob values in files outside the database.
  • Functions to calculate checksums on blob values on the server.
  • String functions like SoundEx or accents removing for your text searches.
  • Regular Expressions in queries.
  • UUID generation
Our SQLite Extension supports Mac OS X, Windows and Linux.
Example projects for Xojo and Real Studio are included for SQLiteDatabase, REALSQLDatabase, REALSQLServerDatabase and CubeSQLDatabase classes.

You can test the extension for free up to 10 minutes per launch in a demo mode. Licenses are available for 99 Euro per developer with one year of free updates. If you have feature requests for additional functions, please send us an email.

MBS FileMaker Plugin, version 5.1pr2

New in this prerelease of the 5.1 plugins:
  • Added FM.CurrentScriptID, FM.ScriptNameForScriptID and FM.ScriptIDForScriptName functions.
  • Updated LCMS to 2.7.
  • Added ListDialog.AddSQL to add list items via SQL.
  • Added grouping to ListDialog.
  • Added DynaPDF.SysFontInfo and DynaPDF.FontInfo functions.
  • Added DynaPDF.SetFieldFont and DynaPDF.SetFieldFontEx functions to support asian characters in form fields.
  • Upgraded Xcode to version 6.2
Download at monkeybreadsoftware.de/filemaker/files/Prerelease/ or ask for being added to the dropbox shared folder.

ListDialog with group headers

As you know we have list dialog functions. Now for next prerelease with headers for grouping.
on Mac:

on Windows:

The style is default style from OS.

Tip of the day: PDF print settings

If your application produces PDF via DynaPDFs, you can include print settings for the PDF Viewer application. For existing PDFs you can import them in DynaPDF and write a new PDF including your print settings.

Print settings can include details like duplex mode with possible settings for default, short edge, long edge or simplex printing. You can ask the PDF Viewer to pick the tray from a laser printer based on the PDF Paper size. You can specify number of copies in range 1 to 5 and ask for no scaling or app default scaling. Finally you can even suggest print ranges to only print some pages.

For FileMaker the MBS FileMaker Plugin 5.1 introduces new commands to handle print settings: DynaPDF.SetPrintSettings, DynaPDF.GetPrintSettings and DynaPDF.GetInPrintSettings.

For Xojo the DynaPDFMBS class has methods including SetPrintSettings, GetPrintSettings and GetInPrintSettings. Related constants like kdpmFlipLongEdge, kdpmFlipShortEdge, kdpmNone and kdpmSimplex help to define values like duplex mode.

Especially the possibility to post process existing PDFs should help. For saving records as PDF from FileMaker provides a PDF which you can customize using our plugin.

FileMaker and Xojo Meetings for Munich and Nuremberg

As I have work to do in southern Germany in April, we travel to Munich and Nuremberg.

This allows us to invite for local developer meetings there.

Munich Xojo
Munich FileMaker
Nuremberg Xojo
Nuremberg FileMaker

Already 15 people put in their day preferences. In a few days, we can fix the dates.

If you like to join us for dinner, please add yourself. We'll reserve a table in a nearby restaurant, meet and chat about development. Entry is free, but you have to pay for your dinner and drinks.

PS: If we don't have your email address, please also send us an email with contact details.

Passing parameters via dictionary functions

In recent plugin version we got new dictionary functions. Those can be used to quickly lookup some value for a key value. As the plugin preserves the original data type (e.g. containers), you can really use it to store anything very well. For example if you reference in your app some ID with a name, you can load all those values in a dictionary. New functions in version 5.1 will allow to fill it with SQL command easily.


For now we want to show you how to use it for parameter passing to scripts. FileMaker allows you to pass one script parameter and our idea is to pass the dictionary reference number as parameter instead of values. So in calling script we call Dictionary.Create to create a new dictionary. Than we fill in a few parameters with the Dictionary.SetValueForKey function. Finally we can pass our variable to the target script with the reference number.


#Create new Dictionary

Set Variable [$param; Value:MBS( "Dictionary.Create" )]

#Fill in parameters

Set Variable [$r; Value:MBS( "Dictionary.SetValueForKey"; $param; "text"; Test Table::TextField )]

Set Variable [$r; Value:MBS( "Dictionary.SetValueForKey"; $param; "number"; Test Table::NumberField)]

#Call script and pass ID

Perform Script [“Other Script”; Parameter: $param]


For the called script we have code like below. We first query the script parameter into local variable. Than we query all the values and put them in variables in the new script. Finally we have to free the dictionary.


#get dictionary reference number


Set Variable [$param; Value: Get(ScriptParameter) ]

# get some values back in variables


Set Variable [$text; Value: MBS( "Dictionary.ValueForKey"; $param; "text" ) ]

Set Variable [$number; Value: MBS( "Dictionary.ValueForKey"; $param; "number" ) ]


# and free memory


Set Variable [$r; Value: MBS("Dictionary.Release"; $param)]


As you see this needs some more work in the scripts. But we can make it easier. The calling script can use the function Dictionary.SetVariables (new in 5.1). This function uses the keys and values in dictionary for the variables. So if there is a key named "Company", we create a variable called $Company and fill the value. So you automatically get the variable names. Also the Dictionary.Create function now takes key/value pairs, to easily fill a dictionary in a script. See the following script:


Set Variable [ $param; Value: MBS( "Dictionary.Create"; "text"; Test Table::TextField; "number"; Test Table::NumberField) ] 

Perform Script [ “Script Called Copie” ; Parameter : $param ]


We create a dictionary with passing in variables as name and value. Than we pass the dictionary as parameter. The called script looks like this:


Set Variable [ $r; Value: MBS("Dictionary.SetVariables"; Get(ScriptParameter); 1) ] 


We get back those variables and passed them all in two lines from one script to other script. No more conversion to text or storing in global fields, even for containers. Try it! You'll love it.

MBS FileMaker Plugin, version 5.1pr1

New in this prerelease of the 5.1 plugins:
  • Added RegEx.FindMatches function.
  • Added inline option for SendMail.AddAttachmentFile and SendMail.AddAttachmentContainer.
  • Added DynaPDF.SetPrinterSettings, DynaPDF.GetPrinterSettings and DynaPDF.GetInPrinterSettings functions.
  • Added RichText.WritePDF and RichText.GeneratePDF functions.
  • Added parameter to Math.TextToNumber to detect dot or comma for decimal separator.
  • Added Dictionary.SetVariables function.
  • Added Dictionary.Values, Dictionary.AddSQL, Dictionary.ValueTypeForKey and QuickList.AddSQL.
  • Added GMImage.NewImagesFromContainer and GMImage.NewImagesFromFile to split tiff.
  • Added XL.CopyContent function to copy content from one XL document to other, useful for converting between XLS and XLSX formats.
  • Added Text.CapitalCase, Text.LowerCase and Text.Uppercase with full unicode support.
  • Added Plugin.SetPreviewSize function to control preview sizes.
  • Changed PDF preview rendering to make smaller previews in faster speed.
  • Added parameter for various functions returning PDF containers to disable rendering of JPEG preview: SQL.GetFieldAsPDF, SQL.GetParamAsPDF, WebView.RenderPDF, CURL.GetResultAsPDF, PDFKit.GetPDFPageValue, Files.ReadPDF, Window.AsPDF, Container.DecodeFromBase64, ServiceProvider.Value, CGPSConverter.Convert, PDFKit.GetPDFPagePDF and PDFKit.GetPDFPagesPDF.
  • Fixed bug in GMImage.WriteImages function. Now working again.
  • Changed FM.ExecuteSQL to return error messages in clear text on error. You can use IsError function to know if it was an error.
  • Updated DynaPDF to version
  • Added FM.ArgumentCount and FM.Argument functions.
  • Fixed GMImage.GetPixelColor to return correct error message if coordinate is out of bounds.
  • Fixed bug in JSON.GetObjectName. Reports now an error if index is out of bounds instead of crashing.
  • Changed ZipFile.WriteContainer to accept writing empty file.
  • Added UnZipFile.UsePassword and ZipFile.UsePassword to encrypt Zip archives.
  • Fixed bug in Text.DecodeFromXML and Text.DecodeFromHTML about html entities not being decoded correctly.
Download at monkeybreadsoftware.de/filemaker/files/Prerelease/ or ask for being added to the dropbox shared folder.

FileMaker Conference 2015

FileMaker conferences in 2015:
  • FileMaker Conférence, French, 25 to 27th May 2015 in Montréal, Canada, see cqdf.ca
  • .fmp[x]Berlin, English, 4th to 6th June 2015 in Berlin, Germany, see dotfmp.com
  • FileMaker DevCon, English, 20th to 23th July 2015 in Las Vegas, USA, see filemaker.com/developers/devcon/
  • FileMaker Konferenz, German, 8th to 10th October 2015 in Hamburg, Germany, see filemaker-konferenz.com
  • FileMaker Conference, English/Swedish, 12th to 13rd October in Gothenburg, Sweden, see devconscandinavia.se
Do you know more? Let me know so I can add them to the list.

FileMaker meetings in Texas

As you may know we come to Texas for the Xojo conference in Austin. While we are there, we thought it may be nice to meet some FileMaker developers there. So if you like, we can organize meetings. Simply reserve a table in a restaurant, meet and have dinner together while chatting about FileMaker and plugins.

FileMaker Meeting in Austin
FileMaker Meeting in Dallas
FileMaker Meeting in Houston

We simply offer 3 meetings and see if people are interested. Surveys will be open and once we have a few people for an event, we can decide on the exact date.
On same day, we could of course arrange training or consulting meetings with you in your office to discuss your FileMaker plugin questions.

Location: To be defined. Suggestions welcome.
Cost: Your own meals and drinks.


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