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