New JSON Plugin for Xojo

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)

MBS Plugins on Xojo Cloud

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.


MBS Xojo Plugins, version 23.5pr1

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 from DropBox.
Or ask us to be added to our shared DropBox folder.

Seven months until MBS Xojo Developer Conference

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 🇫🇷.

Outside image of hotel at night.

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?


News from the MBS Xojo Plugins Version 23.4

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)

The need for automated checks

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)

MonkeyBread Software Releases the MBS Xojo Plugins in version 23.4

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.


MBS Xojo Plugins, version 23.4pr7

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 from DropBox.
Or ask us to be added to our shared DropBox folder.

Omegabundle ends in five days

The OmegaBundle offer will end in about five days.

OmegaBundle 2023 with some MBS products



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.

16 years of MBS Xojo DynaPDF Plugin

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.

xDev Magazine 21.5 Issue

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!

MBS Xojo Plugins, version 23.4pr6

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 from DropBox.
Or ask us to be added to our shared DropBox folder.
The biggest plugin in space...

Archives

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