When we saw the new OnWindowTransaction, we got the idea to pass the JSON we receive to a web server to log the changes outside the FileMaker database. We had a similar thing with using MongoDB functions in a recent blog post: OnWindowTransaction and MongoDB. By storing the JSON outside, we can do the audit log on a different server. Whether you pass the JSON to another FileMaker Pro via our WebHook functions, a PHP script on your web server or directly send it to AWS to put in a database.
From the point of view of MBS FileMaker Plugin we just use the CURL functions. And there we have the CURL.PerformInBackground function to perform a HTTP Post in the background without slowing down the GUI. When the request is sent, we get either an expression evaluated or a script triggered. There we may check if the transfer worked, maybe do something special if it failed. But on the end we always free the curl object.
(more)
In this article we want to introduce you the new functions from the MBS FileMaker Plugin in version 13.5.
ListDialog
A very cool new feature is in the ListDialog Component. Because we now have checkboxes for the list dialog. These can be displayed using the ListDialog.SetShowCheckboxes function. You can now check boxes either manually or by script. If you want to check the boxes by script, use the ListDialog.SetChecked function. Here you enter the list index of the row you want to check followed by the value. 1 for check and 0 for do not check. You can use the ListDialog.GetChecked function to determine whether a field in a particular row is checked or not. To do this, enter the list index in the parameters and the corresponding value will be returned. We can also use the ListDialog.GetCheckedTags and ListDialog.GetCheckedTitles functions to obtain a list of the checked tags and titles. If you use the filter in the dialog, the boxes remain checked even if they are not currently visible and are returned in these lists.
(more)
Let us show you today the various data structures we have in MBS FileMaker Plugin and how to use them.
- QuickList
- Dictionary
- Matrix
- JSON References
- SQL Result
In general you can keep huge amounts of data in memory to query them anywhere with a quick lookup in one of the data structures. Such a lookup may avoid needing extra relationships and can be faster than a database lookup.
(more)
As you may know Americans love to shop on Black Friday and Cyber Monday. This year Black Friday is 24th November. About half our customers are in North America, so we are happy to offer you a discount if you buy this weekend. Our offer will go live in the next days and should be available in time.
We plan to offer coupon code
BlackFriday for the web shop with 20% off for new licenses of MBS Plugins, DynaPDF and
LibXL.
Updates are already offered with discount (usually 50%) compared to new purchases and and our academic prices already have a discount, too. If you like, you can email us to get an order link for all licenses you need or provide an invoice if needed. Especially if you like to use Paypal for payment, we can provide a link with discount or write a custom invoice.
Order MBS FileMaker Plugin Order MBS Xojo Plugins Order LibXL
As usual the discounted offer allows you to buy whatever licenses you may need in the next year. Especially if your license expired in 2022 or before, this is a great chance to get up to date!
You have a question? Please don't hesitate to contact us by email or phone. We may help to point you to the right offer.
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 talk about the new MBS FileMaker Plugin 13.4 release: Announcement, release notes, new functions and download
(more)
When you enter a MBS function in a calculation on macOS, we show MBS in blue. The function name entered behind it as parameter turns blue if the function is known to the plugin. It will show in red while the function name is not correct. When you type something and you see it in red, then check for typos.
(more)
As you may know we have Contacts functions for years and quite a few people use them to synchronize to the macOS Contacts application from FileMaker. Our functions allow you to read and write to contacts database and you can implement a sync method for it. Especially if you have contacts in your FileMaker database, you may like to synchronize these contacts to the contacts database. Once synchronized, they appear on the iPhone when you get called.
We got a bit surprised with macOS Ventura adding restrictions for reading notes. Don't get us wrong: the privacy control is great. Like you may not like every application to read your whole contacts database. Especially as people write sensitive informations in their notes, this field gets an extra permission. This allows you to share your contacts with an application like Signal or WhatsApp, but not upload all these notes. Now FileMaker Pro comes with the entitlement to read the contacts, but not the one for the note field. So we looked for alternative ways and found one via AppleScript.
Since we have AppleScript functions in our plugin to run AppleScripts, we can leverage them. In our case we have a static script with a property, which we compile once. Then we can use it several times and just change the ID we pass. Please never build scripts using data from the user. We don't want the equivalent of a SQL injection in our AppleScript script. For each time you lookup the contact note, you can now take AppleScript.SetPropertyValue to pass the ID and the run AppleScript.Execute function. This then returns the result of the script, which is the note field.
(more)
We got a new format button labeled with "ƒ" for the calculation dialog in FileMaker on macOS.
We parse the formula, detect which brackets belong together and then output the formula with additional whitespacing.
(more)
Claris released today FileMaker 2023 in version 20.3.1.
You get better layout calculations, better performance, the new FMDeveloperTool command line tool and HTTPS tunneling for easier cooperate deployment. FileMaker is compatible to macOS Sonoma with some known issues and you may enjoy a few bug fixes. But please read details in the release notes:
Announcement
FileMaker Pro 20.3.1 release notes
FileMaker Go 20.3.1 release notes
FileMaker Server 20.3.1 release notes
You can download it on the ESD website. The link is in the license email from Claris.
For MBS Plugin, just make sure you have a 13.x version. We fixed a few minor things over the beta test period, so recommended version is 13.5.
Did you know, that we have an example with snippets for writing scripts and makes them available in Script Workspace to insert via a hotkey?
Please check the
Snippets for Windows.fmp12 file. Beside it being for Windows, it can also work on MacOS if needed. So you may use it and then call the "Install Picker Dialog" script in your solution to install it, if you sign-in as developer.
(more)
Please visit us at the booth to say Hello, ask a few questions and learn what is new for
MBS FileMaker Plugin. Join our presentation on November 14 at 12:50 o'clock for the presentation.
As usual you can come by, read the poster, ask us questions and talk with us about existing and future features.
Use coupon code
FileMakerConference for the discount on new licenses. See
pricing page.
See you soon!
Nickenich, Germany - (November 7th, 2023) -- Monkeybread Software today is pleased to announce
MBS FileMaker Plugin 13.5 for Claris FileMaker for macOS, iOS, Linux and Windows, the latest update to their product that is easily the most powerful plugin currently available for Claris FileMaker produce line. As the leading database management solution for Windows, macOS, iOS and the web, the Claris FileMaker Pro Integrated Development Environment supports a plugin architecture that can easily extend the feature set of the application.
MBS FileMaker Plugin 13.5 has been updated and now includes over 7200 different functions, and the versatile plugin has gained more new functions:
To help with JSON processing, we have
JSON functions to search, replace and query. Use
JSON.Query function for JSON Path queries and
JSON.Replace to replace found values with new values. Use
JSON.Search to perform JMESPath queries in FileMaker.
Our
ListDialog functions can show check boxes in the dialog. Turn them on with
ListDialog.SetShowCheckboxes function, mark a few rows a pre-checked before showing the dialog. When the dialog finished, you can query checked entries. Combine this feature with our filter field to find various items and check them all.
The DynaPDF library can create PDF/A documents in versions 4, 4e and 4f and we improved our
DynaPDF.CheckConformance and
DynaPDF.SetPDFVersion functions for this. For
DynaPDF.SetGStateFlags we added the SkaleAnnotIcons flag and we added
DynaPDF.CreateGeospatialMeasure function.
We added
Phidget functions in the last version. We rewrote the script trigger handling to work better for events happening quickly. To clear an event trigger, please use
Phidget.ClearScriptTrigger function.
For macOS we added a format button to calculation dialog. This takes the current formula, parses it and produces a new formatted version. Please try and report edge cases. You can use Command-Shift-F to go to the replace field for the find panel in a calculation. Press Command-Option-Shift-C to copy the current formula as html.
If you enjoy our URL recognition for Script Workspace on macOS, you can use goto: and field: URLs there. Clicking on the URL button for a goto: URL jumps to a line in the script while clicking on a script: URL jumps to a different script.
When checking variable names in the Script Workspace on macOS, you can declare new variables with a comment before a Let statement to tell our plugin about the new variables.
For Windows we have the
Window.AddToTaskbar and
Window.RemoveFromTaskbar functions to hide windows from the taskbar if needed. We improved the use of our
WindowsOCR functions for server.
Since MacOS Sonoma introduces reactions for video recording, you can configure this via
AVRecorder functions. When running on macOS 14 or iOS 17, your application can check for effect availability and beside gesture also run effects via script via
AVRecorder.PerformEffectForReaction function.
We added a MongoDB Audit sample database to the examples. For linux we use the more secure libc functions. Use
Matrix.Lookup to look for a value in a matrix with a fallback to a default value, use the
Text.TextToHTML function to convert styled text to html including highlighted ranges and use
XML.Import with new flags to skip UUID fields or ignore duplicate primary key errors.
Finally we updated CURL library to version 8.4.0, DynaPDF to 4.0.80.232, SQLAPI to 5.2.6 and SQLite to 3.44.0 and Xcode to version 15.0.
See
release notes for a complete list of changes.
7. November 2023 - Monkeybread Software veröffentlicht heute das
MBS FileMaker Plugin für Claris FileMaker in Version 13.5, mit inzwischen über 7200 Funktionen eines der größten FileMaker Plugins überhaupt. Hier einige der Neuerungen:
Um die JSON-Verarbeitung zu erleichtern, haben wir
JSON-Funktionen zum Suchen, Ersetzen und Abfragen. Verwenden Sie die Funktion
JSON.Query für JSON-Pfadabfragen und
JSON.Replace, um gefundene Werte durch neue Werte zu ersetzen. Verwenden Sie
JSON.Search, um JMESPath-Abfragen in FileMaker durchzuführen.
Unsere
ListDialog-Funktionen können Checkboxen im Dialog anzeigen. Schalten Sie sie mit der Funktion
ListDialog.SetShowCheckboxes ein, markieren Sie einige Zeilen als angekreuzt, bevor Sie den Dialog anzeigen. Wenn der Dialog beendet ist, können Sie die angekreuzten Einträge abfragen. Kombinieren Sie diese Funktion mit unserem Filterfeld, um verschiedene Einträge zu finden und sie anzuklicken.
Die DynaPDF Bibliothek kann PDF/A Dokumente in den Versionen 4, 4e und 4f erzeugen und wir haben unsere
DynaPDF.CheckConformance und
DynaPDF.SetPDFVersion Funktionen dafür angepasst. Für
DynaPDF.SetGStateFlags haben wir das SkaleAnnotIcons Flag hinzugefügt und wir haben eine neue
DynaPDF.CreateGeospatialMeasure Funktion.
Wir haben in der letzten Version
Phidget-Funktionen hinzugefügt. Wir haben die Handhabung von Skript-Triggern überarbeitet, damit sie bei schnell auftretenden Ereignissen besser funktionieren. Um einen Script Trigger zu löschen, verwenden Sie bitte die Funktion
Phidget.ClearScriptTrigger.
Für macOS haben wir dem Berechnungsdialog eine Schaltfläche zum Formatieren hinzugefügt. Diese nimmt die aktuelle Formel, analysiert sie und erzeugt eine neue formatierte Version. Bitte probieren Sie es aus und melden Sie Sonderfälle. Sie können Befehl-Umschalt-F verwenden, um zum Ersetzen-Feld für das Suchfeld in einer Formel zu wechseln. Drücken Sie Befehl-Option-Umschalt-C, um die aktuelle Formel als html zu kopieren.
Wenn Ihnen unsere URL-Erkennung für Script Workspace unter macOS gefällt, können Sie goto: und field: URLs dort verwenden. Mit einem Klick auf die URL-Schaltfläche für eine goto: URL springen Sie zu einer Zeile im Skript, während ein Klick auf eine Skript: URL springen Sie zu einem anderen Skript.
Bei der Überprüfung von Variablennamen im Skriptarbeitsbereich unter macOS können Sie neue Variablen mit einem Kommentar vor einer Let-Anweisung deklarieren, um unser Plugin über die neuen Variablen zu informieren.
Für Windows gibt es die Funktionen
Window.AddToTaskbar und
Window.RemoveFromTaskbar, um bei Bedarf Fenster aus der Taskleiste auszublenden. Wir haben die Verwendung unserer
WindowsOCR-Funktionen für den Server verbessert.
Da MacOS Sonoma Reaktionen für Videoaufnahmen einführt, können Sie diese über unsere
AVRecorder-Funktionen konfigurieren. Unter macOS 14 oder iOS 17 kann Ihre Anwendung die Verfügbarkeit von Effekten prüfen und neben der Geste auch Effekte per Skript über die Funktion
AVRecorder.PerformEffectForReaction ausführen.
Wir haben eine MongoDB Audit-Beispieldatenbank zu den Beispielen hinzugefügt. Für Linux verwenden wir die sichereren libc-Funktionen. Verwenden Sie
Matrix.Lookup, um nach einem Wert in einer Matrix mit einem Fallback auf einen Standardwert zu suchen, verwenden Sie die Funktion
Text.TextToHTML, um gestylten Text in HTML zu konvertieren, einschließlich hervorgehobener Bereichen, und verwenden Sie
XML.Import mit neuen Flags, um UUID-Felder zu überspringen oder doppelte Primärschlüssel zu ignorieren.
Schließlich haben wir die CURL-Bibliothek auf Version 8.4.0, DynaPDF auf 4.0.80.232, SQLAPI auf 5.2.6 und SQLite auf 3.44.0 und Xcode auf Version 15.0 aktualisiert.
Alle Änderungen in den
Release Notes.
Just three months left until
Claris Engage 2024, 6th to 8th February 2024 in Austin, Texas.
The
Claris Engage conference will take place one day in the Apple Campus (6900 West Parmer Lane) for training and keynote. After the keynote, we'll meet each other at a party with food and drinks. Plenty of time to welcome old friends and talk about the keynote content. The other two days are on a different Apple Campus (5505 Parmer Lane). All the sessions will be there with lunches and refreshment breaks.
I hope to meet a lot of our clients there, answer questions and have a great time!
PDF/A is a specific subset of the PDF (Portable Document Format) file format that is designed for long-term preservation and archiving of electronic documents. It is intended to ensure that digital documents can be reliably preserved and accurately reproduced over time, even as technology and software evolve. PDF/A achieves this by imposing certain restrictions and guidelines on the content and features of a PDF document. Here are some key characteristics of PDF/A:
- Self-Containment: A PDF/A document should be self-contained, meaning that all the elements required for rendering the document, such as fonts and images, must be embedded within the file. This eliminates the risk of dependencies on external resources that may become unavailable in the future.
- Device Independence: PDF/A files are designed to be device-independent. This means that they should be viewable and printable consistently on different devices and software applications without any significant loss of fidelity.
- Preservation of Content: PDF/A focuses on preserving the visual content, structure, and layout of a document. This ensures that the document's appearance and readability remain consistent over time.
- Metadata: PDF/A requires the inclusion of standardized metadata to describe the document's properties and its context, making it easier to search, retrieve, and understand the content.
- No Encryption or Password Protection: PDF/A documents should not be encrypted or password-protected to ensure long-term accessibility.
- No JavaScript: PDF/A does not allow the use of JavaScript or other executable code, which can pose security risks or become obsolete.
- No Embedded Audio or Video: Multimedia elements such as embedded audio or video are not typically allowed in PDF/A, as they can complicate preservation and access.
PDF/A comes in different versions, each with varying levels of features and restrictions. The most common PDF/A versions are PDF/A-1, PDF/A-2, PDF/A-3 and PDF/A-4, each building on the previous version while adding new capabilities. PDF/A-2 and PDF/A-3, for example, allow the embedding of files and support for digital signatures.
Organizations and institutions that deal with long-term document preservation, such as archives, libraries, and government agencies, often use PDF/A to ensure the integrity and accessibility of their digital records. It is essential to follow the specific requirements of the chosen PDF/A version to create compliant documents for long-term archiving.
With DynaPDF we have two ways to create a PDF/A document. First you can create a new PDF in memory from new content without importing existing PDF. Then you only add what is allowed for the PDF/A format you target and you set the version with SetPDFVersion. Alternative get DynaPDF Pro + PDF/A converter licensers and load an existing PDF to convert it with CheckConformance. That function will check for compliance and if the PDF/A converter is licensed also convert the PDF to make it compliant. If you don't license the PDF/A converter, you can still check for compliance and adjust your code on producing the PDF.
Please download our plugins and try the examples. You find more details about PDF/A in the
DynaPDF manual. We have plenty to try out for you and please do not hesitate to contact us if you have questions.
Did you know that MongoDB has a watch feature (change stream) to see what happens in the database?
(more)
This may change how you write scripts. Your longer scripts may now have an index on top with goto: URLs jumping to specific lines. The goto:start and goto:end links may help to jump to start or end of the script. And script: links may jump to a different script.
Let's start with script links. You put in the script name after the script: prefix. The plugin will read the name, decode percent escaped sequences and looks for a script in same file with the given name to show it. If you have special characters in the script name, please use GetAsURLEncoded() function in FileMaker to get the URL encoded properly, e.g. with %20 for spaces. This may look like this in the script:
# We open the database connection in the Connect to database script
# See also script:Close%20database ➜🌍
#
Perform Script [ Specified: From list ; “Connect to database” ; Parameter: ]
#
Set Variable [ $result; Value: Get(ScriptResult) ]
(more)
New in this prerelease of version 13.5 of the
MBS FileMaker Plugin:
Download at
monkeybreadsoftware.com/filemaker/files/Prerelease/, in
DropBox folder or ask for being added to the DropBox shared folder.