# MBS FileMaker Plugin 12.3

**URL:** <https://the.fmsoup.org/t/mbs-filemaker-plugin-12-3/3005>\
**Category:** MBS Plugins\
**Tags:** announcement, plugins, mbs\
**Created:** [July 20, 2022, 5:44am UTC](https://the.fmsoup.org/t/mbs-filemaker-plugin-12-3/3005 "2022-07-20T05:44:13Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![MonkeybreadSoftware](https://yyz2.discourse-cdn.com/flex030/user_avatar/the.fmsoup.org/monkeybreadsoftware/32/361_2.png) [@MonkeybreadSoftware](https://the.fmsoup.org/u/MonkeybreadSoftware)\
**Post date:** [July 20, 2022, 5:44am UTC](https://the.fmsoup.org/t/mbs-filemaker-plugin-12-3/3005/1 "2022-07-20T05:44:14Z")

</div>

In this article we want to introduce you the new functions from the MBS FileMaker Plugin in version 12.3.

### MongoDB

The coolest feature in new release is the new [Mongo DB topic](https://mbsplugins.eu/component_MongoDB.shtml). You can now use FileMaker to access MongoDB databases, read, write and delete data. The special thing about Mongo DB is that it is not a rational database that is limited by relationships and tables, but is based on a JSON-like structure that also allows unusual queries. For example, you can formulate searches to see who has been in your company longer, the carpet in the warehouse or your employee. In rational databases, your carpet wouldn't normally appear in the same table as your employee. So you would have to design a separate table to be able to make this query. In Mongo DB, the records, here called documents, can coexist in a collection and a simple query can be made. If you would like to try Mongo DB, please check out our examples.  
 ![](https://www.mbs-plugins.com/image/MongoDB300622.png)

### TOTP

You need time based one time passwords? Then the new component [TOTP](https://www.mbsplugins.eu/component_TOTP.shtml) is just right for you. Create these passwords with the [TOTP.Calculate](https://www.mbsplugins.eu/TOTPCalculate.shtml) function by specifying a key, the Current Time, the Start Time, the validity of the code and the number of digits. For the current time we also provide the [TOTP.CurrentTime](https://www.mbsplugins.eu/TOTPCurrentTime.shtml) function which returns us the time in Unix Time. This means we get back the number of seconds that have passed since January 1, 1970, 00:00.  
 ![](https://www.mbs-plugins.com/image/TOTP110722.png)

### New developer features for the Mac

For Mac developers there are from time to time new features that should make your life as a developer easier. Also in this release we may introduce a new one to you. You can now specify web pages in your comments and can open this page directly in your browser from the script workspace with one click. The web page you specify becomes a link. At the end of the comment line there will be an arrow with a globe. When you click on it, your browser opens and the web page is displayed. This functionality works for http://, https://, mailto: and fmp:// links.  
 ![](https://www.mbs-plugins.com/image/DevFunc110722.png)

### System Info

Do you want parts of your code to run only on the new macOS 13 Ventura? Then use the [SystemInfo.isVentura](https://www.mbsplugins.eu/SystemInfoisVentura.shtml) function now to test if it is the latest operating system.

### DynaPDF

We also have three new functions in the DynaPDF section. You can use the new [DynaPDF.SetTemplBBox](https://www.mbsplugins.eu/DynaPDFSetTemplBBox.shtml) function to change the dimensions of your bounding box for your template. By using a template (a page loaded from a document), you can place the same content several times into a new document, e.g. 4 pages on one.

With the [DynaPDF.SetDateTimeFormat](https://www.mbsplugins.eu/DynaPDFSetDateTimeFormat.shtml) function we can set in a specific box how the date format should be there. For example you can choose the American MM\_DD\_YY. Format or the format that is better for date sorting YY\_MM\_DD. The function restricts the allowed value of a text field to a date time format and applies this format if the value was valid.

If you want to have the size of the currently set font you can now use the [DynaPDF.GetFontSize](https://www.mbsplugins.eu/DynaPDFGetFontSize.shtml) to get the font size.

### Audit

Our audit section, which contains functions that can detect and log every change in a record, gets with the function [Audit.SetDateAndTimeAsNumbers](https://www.mbsplugins.eu/AuditSetDateAndTimeAsNumbers.shtml) a function with which you can decide whether times should be stored as number or text. This avoids extra audit log entries if users with different locales use the database. In addition to this function we also provide a function that can read the status of this function ([Audit.GetDateAndTimeAsNumbers](https://www.mbsplugins.eu/AuditGetDateAndTimeAsNumbers.shtml)).

### Error Log

You may remember the last release where we introduced our [ClearErrors](https://www.mbsplugins.eu/ClearErrors.shtml) and [HadErrors](https://www.mbsplugins.eu/HadErrors.shtml) functions that count the errors that occur when using plugin functions. Now it becomes even more comfortably for the developers, because we collect now the errors in an error log and give them out collected as JSON for you. For this we have now the new functions [ErrorLog](https://www.mbsplugins.eu/ErrorLog.shtml). Such a JSON that you get back from the [ErrorLog](https://www.mbsplugins.eu/ErrorLog.shtml) function can look like this:

[{ "function": "test", "result": "[MBS] Unknown function: test", "parameter": ["test", 1, "Hello"], "fileName": "Kontakte", "scriptName": "test Errors", "currentTimeStamp": "23.06.2022 09:28:34" }, { "function": "DynaPDF.Print", "result": "[MBS] DynaPDF.Print is only supported for Windows. Please use PDFKit.Print on Mac.", "parameter": ["DynaPDF.Print", 1, "Hello"], "fileName": "Kontakte", "scriptName": "test Errors", "currentTimeStamp": "23.06.2022 09:28:34" } ]

If you want to add an individualized entry to this error log, for example if you got an error with Get(LastError), you can do this with the [AddToErrorLog](https://www.mbsplugins.eu/AddToErrorLog.shtml) function.

### CURL

In the CURL topic there are two new functions. With [CURL.GetCAInfo](https://www.mbsplugins.eu/CURLGetCAInfo.shtml) we get the default CAInfo value. With [CURL.GetCAPath](https://www.mbsplugins.eu/CURLGetCAPath.shtml) we get the default CAPath.

### FM Variable

Also new is the [FM.VariableLookup](https://www.mbsplugins.eu/FMVariableLookup.shtml) function. It retrieves the value of named variable that was declared using [FM.VariableSet](https://www.mbsplugins.eu/FMVariableSet.shtml). This lookup function returns the default value (or empty) if the variable doesn't exist. Unlike the variables in FileMaker these variables are not limited to the File or Script. In other words they can be retrieved from any file in the system regardless of where they were declared.

### Shared Memory

[MBS FileMaker Plugin](https://www.monkeybreadsoftware.com/filemaker/) provides [SharedMemory](https://www.mbsplugins.eu/component_SharedMemory.shtml) functions to store UTF-8 text in shared memory, so one process can set it and other can read it, e.g. two versions of FileMaker Pro or two server processes. If we don't have a SharedMemory earlier there was an error when reading it out. With the [SharedMemory.LookupValue](https://www.mbsplugins.eu/SharedMemoryLookupValue.shtml) function you now return the default value instead of an error.

We hope you will also find some interesting new features. We wish you a lot of fun with [MBS FileMaker Plugin](https://www.monkeybreadsoftware.com/filemaker/) Version 12.3. If you need a license or have any questions, please contact us.

by Stefanie Juchmes

---

<div class="post-metadata">

**Author:** ![MonkeybreadSoftware](https://yyz2.discourse-cdn.com/flex030/user_avatar/the.fmsoup.org/monkeybreadsoftware/32/361_2.png) [@MonkeybreadSoftware](https://the.fmsoup.org/u/MonkeybreadSoftware)\
**Post date:** [July 21, 2022, 1:21pm UTC](https://the.fmsoup.org/t/mbs-filemaker-plugin-12-3/3005/2 "2022-07-21T13:21:20Z")

</div>

If you are new to our [MBS FileMaker Plugin](https://www.monkeybreadsoftware.com/filemaker/), please take some time to get familiar with the plugin. Our plugin provides a toolbox of useful functionality to extend your Claris FileMaker solution. Take the time to watch two of those videos to learn what is new in the plugin and how to install it:

[![Thumbnail256x160](https://www.mbsplugins.com/MBSFileMaker2022en-thumbnail.jpg)](https://www.mbsplugins.com/MBSFileMaker2022en.shtml)  
[MBS FileMaker Plugin Update 2022](https://www.mbsplugins.com/MBSFileMaker2022en.shtml)

[![Thumbnail256x160](https://www.mbsplugins.com/InstallationMacEN-thumbnail.jpg)](https://www.mbsplugins.com/InstallationMacEN.shtml)  
[Installation macOS](https://www.mbsplugins.com/InstallationMacEN.shtml)

[![Thumbnail256x160](https://www.mbsplugins.com/InstallationWinEN-thumbnail.jpg)](https://www.mbsplugins.com/InstallationWinEN.shtml)  
[Installation Windows](https://www.mbsplugins.com/InstallationWinEN.shtml)

Once you looked into a few code snippets, [blog posts](https://www.mbs-plugins.com/) or [example databases](https://www.mbsplugins.eu/MBS-FileMaker-Plugin-Examples/), you may quickly start copying things to your own solutions.

You can download the plugin here: [Download FileMaker Plugin](https://www.monkeybreadsoftware.com/filemaker/download.shtml)

You find documentation: [Online Documentation](https://www.mbsplugins.eu/) and [User Guides](https://www.monkeybreadsoftware.com/filemaker/guide/)

If you like to meet us, please check the [Events & Conferences](https://www.monkeybreadsoftware.com/filemaker/events/).

You can start without a license and use the plugin in demo mode. Beside an annoying dialog, you can use the plugin for a few hours and then restart FileMaker. If you do more testing, get a [trial license key](https://www.monkeybreadsoftware.com/trial/trial-filemaker.shtml) and try it for about six weeks.

If you need to purchase a new license, check the [pricing page](https://www.monkeybreadsoftware.com/filemaker/pricing.shtml). In July you can still use our coupon code FileMakerKonferenz to get a little discount on a new license.
