Our MBS JSON class called JSONMBS got a bit aged in the last years. Time for a rewrite and over the last months, we got that on the way. To make a compelling offer to our clients for using this class, it has include a few key things:
Although we swap the underlaying library, we have to keep the same interface so existing code using JSONMBS continues to work. And we need to do same behaviors as much as possible.
We need to keep performance at great levels, especially when JSONItem caught up in Xoxo 2021 Release 1. Since we have to go through the Plugin SDK interface, we are slower in some cases due to that extra layer. In other cases we can be more efficient and avoid calls and do things quicker. Performance should be in general the same and exact results depend on what operations are used in the benchmark code.
Since you may use JSONItem, we need to be compatible, so you can easily switch to our class. That means we have to copy the JSONItem public interface in both API 1 and API 2. That is why we get both Value() and ValueAt(). You can choose whatever name you prefer since they are all connected to the same methods internally.
We like to add great new features like JSON Path Queries, Search & Replace and flatten & unflatten. If you know XML queries, you may like the JSON queries:
- Query(Path as string, Options as Integer = 0) as JSONMBS
- Search(Path as string) as JSONMBS
- Replace(Path as string, NewValue as Variant) as JSONMBS
- Flatten(value as JSONMBS) as JSONMBS
- Unflatten(value as JSONMBS) as JSONMBS
(more)
Recently we got a request for JSONPath queries in FileMaker, so we looked into various ways on how to implement this. We found a way and got three new functions for you:
Please try them, e.g. run a query against them.
(more)
You may know Xojo Cloud as an easy way to deploy Web 1 and 2 applications to the web. A Xojo Cloud plan is just $49 per month for the smallest level and it is very comfortable. Just make your Xojo project, set Cloud as build target and click the deploy button. If you have no time to manage your own VPS, this is the most convenient way to run Xojo web apps. The second most comfortable way is probably using Lifeboat from Strawberry Software to manage your apps on your own VPS, e.g. an Amazon EC2 instance.
When we updated OpenSSL recently in version 23.2, we accidentally broke the compatibility to the linux used on Xojo Cloud, which seems to be current CentOS 7.9. Sorry if you are affected. This is fixed for 23.5pr1 and future releases. Of course Xojo Cloud may update someday to a newer version of Linux, like a current Ubuntu.
For the time being, the following plugin parts (out of about 500) may not load on CentOS due to library dependencies to newer C/C++ versions:
We also got a feature request to upgrade the Linux Cloud Servers to a newer version: Issue 74230.
Please don't hesitate to contact us if you have questions or need assistance.
PS: Please note that the use of 32-bit Intel Linux version of MBS Xojo Plugins is deprecated. 32-bit for ARM is still working fine of course as well as all the 64-bit targets.
Claris released today FileMaker 2023 in version 20.2.1.
You get an integration to Claris Connect and Claris Studio. You can now place text with calculations directly on a layout. 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.2.1 release notes
FileMaker Go 20.2.1 release notes
FileMaker Server 20.2.1 release notes
macOS Sonoma (14.0) and iOS 17 compatibility
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.4.
New in this prerelease of the 23.5 plugins:
- Improved UUIDMBS.randomUUID to be a bit more random.
- Rewrote JSONMBS class.
- Added Query, Search and Replace functions for JSONMBS class.
- Added Flatten and Unflatten functions for JSONMBS class.
- Added Search to JSONMBS class class to perform JMESPath queries in Xojo.
- Changed SQLConnectionMBS class, so you can load Actual Tech ODBC drivers directly without using iODBC.
- Added RowsAffected property to SQLConnectionMBS and SQLDatabaseMBS classes.
- Fixed OpenSSL to not depend on GLIBC_2.25, so you can use our plugin on CentOS 7 again and on Xojo Cloud.
- Enabled fortified source checks for libc on Linux.
- Updated DynaPDF to version 4.0.78.230.
- Added kgfSkaleAnnotIcons constant for DynaPDFMBS class.
- Updated CURL to version 8.3.0.
- Updated to Xcode 15.0.
- Added iterators to DynaPDF with new DynaPDFIteratorMBS class.
- Added Operator_Convert to DynaPDFAnnotationMBS and DynaPDFAnnotationExMBS to convert between them.
- Fixed FolderItem.PhysicalFileTotalLengthMBS function for Windows to report block size.
Download:
monkeybreadsoftware.de/xojo/download/plugin/Prerelease/
Or ask us to be added to our shared DropBox folder.
New in this prerelease of version 13.5 of the
MBS FileMaker Plugin:
Download at
monkeybreadsoftware.com/filemaker/files/Prerelease/ or ask for being added to the DropBox shared folder.
Just seven months left until we start our MBS Xojo Developer Conference in Andernach, Germany. We know it is still early, but we already got a few speaker proposals and already the first 10 registrations from five different countries: 🇩🇪, 🇳🇱, 🇬🇧, 🇺🇸, and 🇫🇷.
Please join us 25th and 26th April 2024 in Andernach, Germany for a great Xojo developer conference. You may consider to arrive 24th April to join the evening reception in the hotel. Or even arrive earlier to join our Xojo training day. And if you come from far away, how about staying longer and do a bit of sight seeing with the group on Tuesday?
In this article we want to introduce you the new functions from the MBS FileMaker Plugin in version 13.4.
Phidget
Let's start with the most comprehensive and coolest new feature of the release: Phidgets. Phidgets are small additional devices that you can connect to your computer and with which you can then input or output data. For example you can connect a small motor, a temperature sensor, a humidity sensor, a gyroscope or a small LED display and exchange data with these devices. Since a few years we already have a plugin for Xojo, which allows the interaction with these small devices and we are proud to offer the use of these small devices now also for FileMaker.
With Phidget.Load we first load the Phidget library we want to work with. With Phidget.Create we create an instance of a Phidget channel. Once created the channel may need to be configured to match the physical device and channel index you want to attach to, and then be opened by calling Phidget.Open.
The Phidget channel handle must be released with Phidget.Release. With the functions Phidget.SetProperty and Phidget.GetProperty you can set and get properties of a specific Phidget.
A function that is even more powerful is the Phidget.SetScriptTrigger function, which allows you to set a script to be started when a certain event occurs. This can be e.g. with a temperature sensor a detected change in the temperature. These and many more functions are waiting for you in the new component Phidget.
We are excited what new projects you can implement with these little helpers.
(more)
In this article I want to introduce you the new functionalities from the MBS Xojo Plugins in version 23.4.
MongoDB
Also in this release we have something new for MongoDB. We updated our SSL support for our MongoDB plugin. We switched to using OpenSSL as the transport encryption for the MongoDB library for macOS and iOS. The SSLLibrary function tells you which SSL library is in use. You can use MongoSSLOptionsMBS class to specify SSL options in addition to putting them into the connection string. To check about possible reasons for connection problems, we got a new trace logging functionality with Trace property in MongoClientMBS class. And by regularly calling ping method you can check whether the connection is alive and keep it open.
CURL
For the classes CURLMBS, CURLNMBS and CURLSMBS we have 2 new methods each. When we work with URLs, we mostly need the absolute URL. The new method ProcessRelativeURL now offers us the possibility to convert a relative URL into an absolute URL by additionally specifying the base URL.
With the second new method RemoveAll we can remove all curl handlers at once. So that we don't have to take the way over a loop with RemoveCURL. This makes our work easier and the code remains clearer.
(more)
When you do things in your business, it is very important to have automated checks. A process needs to check if the previous process did the right thing. Because whatever can go wrong, will eventually go wrong and then you add a new check.
Today we added a check to our newsletter sending to make sure the text file for the announcement is from the current month. This hopefully avoids us sending out over 1000 emails with the old text the next time. Sorry, if you got one of these announcement newsletters with the wrong announcement.
Recently we got a new check when packing the plugins to check if the version number in the plugin file is the current version. Because it happened before, that the build machine failed and didn't copy over a new version. We also check that plugin files have a minimum file size and the linker didn't abort for some reason. The same script checks if all the plugins are from the same day to avoid missing to build one of them.
(more)
Just two months until the
EngageU conference. ClickWorks and Square Moon continue to organize a pan-european conference for Claris FileMaker developers from all over the world.
EngageU - FileMaker Conference
12th - 14th of November 2023, Antwerp, Belgium
After the conference in Malmö last year, we see the second conference coming to Belgium. This may be the largest in-person European FileMaker conference this year with about 250 participants. Claris is expected to join and all presentations will be in English.
Please don't miss this event and sign up for the conference soon:
EngageU
And it's great reason for people from all around the world to do a business trip to see Belgium.
More events are listed on our
events website.
Nickenich, Germany - (September 12th, 2023) -- MonkeyBread Software today is pleased to announce MBS FileMaker Plugin 13.4 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.4 has been updated and now includes over 7100 different functions, and the versatile plugin has gained more new functions:
Our new Phidget functions allow you to connect to devices from Phidgets Inc. directly from FileMaker, if you like to automate something with using phidget devices. This includes: analog or digital input or outputs, servo motors, touch sensors, RFID, GPS, gyroscope, magnetometer, spatial sensor, temperature sensor, frequency counter, IR, PH sensor, LCD, distance sensor, light sensor, pressure sensor, sound sensor, humidity sensor and more. Create a device object, set properties and connect. Then get and set properties and register script triggers.
We updated our SSL support for our MongoDB functions. We switched to using OpenSSL as the transport encryption library for the MongoDB library for macOS and iOS. The MongoDB.SSLLibrary function tells you which SSL library is in use. You can use MongoDB.SetSSLOptions function to specify SSL options in addition to putting them into the connection string. To check about possible reasons for connection problems, we got a new trace logging functionality with MongoDB.IsTracing and MongoDB.Trace functions. And by regularly calling MongoDB.Ping function you can check whether the connection is alive and keep it open.
For macOS we have a couple of functions to check the state of cloud hosted files, e.g. in iCloud or Dropbox. You can query the state with Files.UbiquitousItemStatus function. Then you can request a download with Files.StartDownloadingUbiquitousItem function or free local disk space with Files.EvictUbiquitousItem function. Calendars, events and sources can now be queried as JSON objects.
DynaPDF can now delete DPart nodes and skip DPart data on importing. The DynaPDF.RenderPage function can take the ForceInterpolation flag and DynaPDF.SaveAndSignFileExt1 got updated with a new useDetached parameter.
We updated WebDownloadDelegate functions to work with WebKit 2.0 on macOS and iOS. For iOS we got new triggers for orientation change with iOSApp.SetOrientationDidChangeScript function.
The XML.InsertRecords function can insert records with data from XML, we got new Base32 encoding and decoding functions, the CURL.ProcessRelativeURL function can help to expand relative URLs and improved JSON.Import function to handle arrays in arrays. The SerialPort.OpenPath function can open paths to special devices like pipes.
Finally we updated curl to version 8.2.1, DynaPDF to 4.0.77.228, SQLAPI to 5.2.5 and SQLite to version 3.43.1.
See release notes for a complete list of changes.
Nickenich, Germany - (September 12th, 2023) -- MonkeyBread Software today is pleased to announce MBS Xojo Plugins 23.4 for macOS, Linux and Windows, the latest update to their product that is easily the most powerful plugin collection currently available for Xojo. MBS Xojo Plugins have been updated and now includes over 3000 classes and 80,000 documented features, and the versatile plugins have gained more new functions:
We updated our SSL support for our MongoDB plugin. We switched to using OpenSSL as the transport encryption for the MongoDB library for macOS and iOS. The SSLLibrary function tells you which SSL library is in use. You can use MongoSSLOptionsMBS class to specify SSL options in addition to putting them into the connection string. To check about possible reasons for connection problems, we got a new trace logging functionality with Trace property in MongoClientMBS class. And by regularly calling ping method you can check whether the connection is alive and keep it open.
For macOS we got a new NSSplitViewControlMBS control and the related NSSplitViewMBS class to get the native split control into Xojo. You can customize the splitter and decide between horizontal and vertical layout.
For Windows we rewrote the WindowsPowerStateMBS class. It got a couple of new methods to register for receiving various events about battery capacity change, lid switch change, power source change and suspend/resume events for the mobile computer. The Bluetooth LE classes got updated to support pairing with new WindowsDeviceInformationPairingMBS class. The WebView2ControlMBS control has new methods to map virtual host names to local folders.
For iOS we enabled the use of Midi features using MidiClientMBS class. We updated NSTextListMBS class to work on iOS and improved NSMutableAttributedStringMBS class.
We got new Base32 encoding and decoding functions, the ProcessRelativeURL method for CURLSMBS class can help to expand relative URLs and we include the BugreporterKit with the examples. The SerialPortMBS class can open paths to special devices like pipes.
Finally we updated ChartDirector to version 7.1, curl to 8.2.1, DynaPDF to 4.0.77.228, SQLAPI to 5.2.5 and SQLite to version 3.43.1.
See release notes for a complete list of changes.
12. September 2023 - Monkeybread Software veröffentlicht heute das MBS FileMaker Plugin für Claris FileMaker in Version 13.4, mit inzwischen über 7100 Funktionen eines der größten FileMaker Plugins überhaupt. Hier einige der Neuerungen:
Unsere neuen Phidget-Funktionen ermöglichen es Ihnen, sich direkt von FileMaker aus mit Geräten von Phidgets Inc. zu verbinden, wenn Sie etwas mit Hilfe von Phidgets-Geräten automatisieren möchten. Dazu gehören: analoge oder digitale Ein- oder Ausgänge, Servomotoren, Berührungssensoren, RFID, GPS, Gyroskop, Magnetometer, Raumsensor, Temperatursensor, Frequenzzähler, IR, PH-Sensor, LCD, Abstandssensor, Lichtsensor, Drucksensor, Tonsensor, Feuchtigkeitssensor und mehr. Erstellen Sie ein Geräteobjekt, legen Sie Eigenschaften fest und stellen Sie eine Verbindung her. Holen und setzen Sie dann Eigenschaften und registrieren Sie Skriptauslöser.
Wir haben unsere SSL-Unterstützung für unsere MongoDB-Funktionen aktualisiert. Dabei wechseln wir auf OpenSSL als Transportverschlüsselung-Bibliothek für die MongoDB-Bibliothek für macOS und iOS. Die Funktion MongoDB.SSLLibrary teilt Ihnen mit, welche SSL-Bibliothek verwendet wird. Sie können die Funktion MongoDB.SetSSLOptions verwenden, um SSL-Optionen zusätzlich zur Eingabe in den Verbindungsstring anzugeben. Um mögliche Gründe für Verbindungsprobleme zu prüfen, gibt es mit den Funktionen MongoDB.IsTracing und MongoDB.Trace eine neue Trace-Logging-Funktion. Und durch den regelmäßigen Aufruf der Funktion MongoDB.Ping können Sie überprüfen, ob die Verbindung noch besteht und offen gehalten wird.
Für macOS gibt es eine Reihe von Funktionen, um den Status von in der Cloud gehosteten Dateien zu überprüfen, z. B. in iCloud oder Dropbox. Sie können den Status mit der Funktion Files.UbiquitousItemStatus abfragen. Anschließend können Sie mit der Funktion Files.StartDownloadingUbiquitousItem einen Download anfordern oder mit der Funktion Files.EvictUbiquitousItem lokalen Speicherplatz freigeben. Kalender, Ereignisse und Quellen können jetzt als JSON-Objekte abgefragt werden.
DynaPDF kann nun DPart-Knoten löschen und DPart-Daten beim Importieren überspringen. Die DynaPDF.RenderPage Funktion kann das ForceInterpolation Flag annehmen und DynaPDF.SaveAndSignFileExt1 wurde mit einem neuen useDetached Parameter versehen.
Wir haben die WebDownloadDelegate-Funktionen verbessert, damit sie mit WebKit 2.0 auf macOS und iOS funktionieren. Für iOS gibt es neue Trigger für Orientierungsänderungen mit der Funktion iOSApp.SetOrientationDidChangeScript.
Die Funktion XML.InsertRecords kann Datensätze mit Daten aus XML einfügen, es gibt neue Funktionen zur Base32-Kodierung und -Dekodierung, die Funktion CURL.ProcessRelativeURL hilft bei der Erweiterung relativer URLs und die verbesserte Funktion JSON.Import kann Arrays in Arrays verarbeiten. Die Funktion SerialPort.OpenPath kann Pfade zu speziellen Geräten wie Pipes öffnen.
Schließlich haben wir curl auf Version 8.2.1, DynaPDF auf 4.0.77.228, SQLAPI auf 5.2.5 und SQLite auf Version 3.43.1 aktualisiert.
Alle Änderungen in den Release Notes.
Today seventeen years ago we released the MBS FileMaker Plugin in Version 1.0.
Here the original announcement:
[ANN] MBS Plug-in For Filemaker
Make FileMaker Windows Semi Transparent!
Take Screenshots from FileMaker
Run an Applescript on field exit
and more...
Monkey Bread Software, maker of the popular MBS Plug-in for RealBasic and geist interactive have teamed up to bring the extensive MBS function library to FileMaker. The MBS RealBasic plug-in contains over 10000 functions, and this release represents the first step in a project to bring as many of those functions to FileMaker as make sense. Many many more features to com in the future.
The plug-in is available for FileMaker 8 and 8.5. It is available for Windows XP and as Universal Binary for Mac OS X There is a Developer Tool available to help you get started quickly with documentation and Calculation builder. Demos are available on the website
more info: geistinteractive.com
download: monkeybreadsoftware.de/filemaker/
Read also:
4000 functions in 10 years and
5000 Functions in MBS Plugin.
Thanks for the support over years.
Recently a client asked me where all the MBS functions are. Looking in the calculation dialog, you see just MBS listed:
If you ask why we don't have over 7000 functions listed there, the answer is easy: It would be a nightmare for you to use.
Recently I made a special version of MBS Plugin to register all functions individually and show them in the calculation dialog right away:
You don't see the scrollbar on the screenshot, but all 7000 functions are there. The dialog takes about 12 seconds to open as FileMaker adds all the functions to the list. And it takes another 10 seconds to open the MBS section there. There is a significant time cost for having a lot of functions there and thus we don't do this normally.
Please pass the function name to MBS() as first parameter to pick the function. Take benefit from being able to pick a function name from a field or calculation.
New in this prerelease of the 23.4 plugins:
- Updated SQLAPI to version 5.2.5.
- Added new properties for PHPickerConfiguration class.
- Added audio constants to VLCInstanceMBS class.
Download:
monkeybreadsoftware.de/xojo/download/plugin/Prerelease/
Or ask us to be added to our shared DropBox folder.
New in this prerelease of version 13.4 of the
MBS FileMaker Plugin:
Download at
monkeybreadsoftware.com/filemaker/files/Prerelease/ or ask for being added to the DropBox shared folder.
The
OmegaBundle offer will end in about five days.
Omegabundle for Xojo 2023 is a collection of the most useful tool sets, add-ons, digital books and components for use with Xojo Inc's Xojo development environment. If purchased separately and not including any additional offers, the total cost would be over $4166.94. Omegabundle for Xojo 2023 costs $499.99.
Xojo is an award-winning, cross-platform development tool for the Desktop (macOS, Windows, Linux), Web, iOS (iPad/iPhone) and Raspberry Pi. With Xojo, you can create native applications by using drag-and-drop to build your user interface and then one straight-forward programming language to enable the functionality. Xojo is powerful and modern, yet easy to use and learn.
Learn more at
omegabundle.net , see
what is included and
order here.
Just one month until the FileMaker conference in Rome, Italy starts: from 3rd to 8th October 2023.
For the international traveler coming to the conference, please note, that there are extra days for sight seeing and/or training with your fellow developers.
Day |
Sight Seeing |
Training |
Conference |
3rd Oct |
Tour Rome & FileMaker Undergrounds of Rome and via dell'acqua |
4th Oct |
Tour Rome & FileMaker Industrial Rome |
Course build your FileMaker app from scratch (in Italian)
Course build your FileMaker app from scratch (in English) |
5th Oct | | | Claris Partner meeting (in English) Conference start. |
6th Oct | | | Conference & Gala Dinner |
7th Oct | | | Conference |
8th Oct | | JavaScript & FileMaker Course Design Masterclass (in Spanish) |
More information on the website. Last year we had live translation between English and Italian and you could use head phones to hear all presentations in either language. This year FMGuru looks into adding Spanish and French translation.
If you sign up, please find below the €100 discount coupon on the event ticket: RFWMBS100
About 16 years ago we started the development of our
MBS Xojo DynaPDF Plugin.
After a year of development, the plugin was released to the public on 1st Sep 2007 with MBS Plugin 7.6pr1.
This plugin has been a big success for us and provides the PDF engine to thousands of Xojo applications around the world. Based on user feedback we got a lot of functions over the years like the raster engine, PDF/A conversion and ZUGFeRD support.
Please make sure you try the plugin, make it part of your toolbox and start to enjoy all the PDF features you can add to your application.
The September/October (21.5) issue of xDev Magazine is now available. Here's a quick preview of what's inside:
Long Memories by Marc Zeedar
Bad bugs can stick in the memories of your users for a long, long time. No matter how much you test, bugs can still slip through, however, so Marc has some ideas on how to minimize their impact and create a more positive experience.
Syncing Dropbox by Marc Zeedar
Dropbox suddenly decided to stop syncing on Marc's old Mac, ruining a crucial part of his workflow. Naturally, he turned to Xojo to create his own crazy workaround.
Rasp Pi Electronic Fun Part 3 by Eugene Dakin
I2C electronics communication is a popular standard that allows many that many controllers, sensors, and remotes connect to a Raspberry Pi board. In this issue's project, Eugene shows how to set up a MPL3115A2 barometric sensor.
Creating a Photomosaic by Marc Zeedar
Have you ever seen a photo that is made up of thousands of tiny pictures? That's a photomosaic, where photos replace the pixels in the larger image. For some reason Marc thought that would be easy to make in Xojo.
Plus: Topics such as Xojo 2023R2, charting, Windows PDFs, database joins and views, and more!
New in this prerelease of version 13.4 of the
MBS FileMaker Plugin:
- Fixed a problem with Dialog.SetTimeout closing a FileMaker custom dialog by accident on macOS.
- Improved DynaPDF.FindField to better find a field in a group.
- Added SerialPort.OpenPath function, so you can use SerialPort functions to open special files or pipes.
- Fixed a problem with handling of Shift JIS text encoding.
- Fixed a bug in setting numeric values in SQL functions with floating numbers, caused by a bug fix in version 13.3. Values showed up as zero incorrectly.
- Updated DynaPDF to version 4.0.77.228.
- Added SkipDPartData option for DynaPDF.SetImportFlags2 function.
- Added DynaPDF.DeleteDPartNode function.
Download at
monkeybreadsoftware.com/filemaker/files/Prerelease/ or ask for being added to the DropBox shared folder.
New in this prerelease of the 23.4 plugins:
- Improved FindField in DynaPDFMBS class to better find a field in a group.
- Added OpenPath method to SerialPortMBS class.
- Fixed a bug in setting SQLNumericMBS values with floating numbers, caused by a bug fix in version 23.3. Values showed up as zero incorrectly.
- Fixed HighlightOnAllPages method in DynaPDFMBS class to pass color correctly.
- Updated DynaPDF to version 4.0.77.228.
- Added kif2SkipDPartData flag for DynaPDFMBS class.
- Added DeleteDPartNode method to DynaPDFMBS class.
Download:
monkeybreadsoftware.de/xojo/download/plugin/Prerelease/
Or ask us to be added to our shared DropBox folder.