News from the MBS Xojo Plugins Version 23.5

In this article I want to introduce you the new functionalities from the MBS Xojo Plugins in version 23.5.


There is a new class for the DynaPDF area: DynaPDFIteratorMBS. The class provides an interator as an object that can be used in for-each loops in Xojo. It is an abstracted class, so we cannot create an instance by ourselves, but several methods can use the class as a return. There are currently 17 different methods that interate using it, for example over annotations, bookmarks or named destinations.

In the DynaPDFMBS class, we also have the option of creating a geospatial measure dictionary using the CreateGeospatialMeasure method. This kind of measure dictionary can be used to convert PDF units to geographic coordinates. A measure dictionary is used by the measure tool of Adobe's Acrobat and by other PDF viewers which contain a PDF compatible measure tool.

In the classes DynaPDFAnnotationExMBS and DynaPDFAnnotationMBS we have one Operator_Convert function each. This converts an object of one type of annotation into an object of the other type. DynaPDFAnnotationMBS is the older and DynaPDFAnnotationExMBS the newer class.


Five months until MBS Xojo Developer Conference

Just five 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 over 25 registrations from nine different countries: 🇩🇪, 🇳🇱, 🇬🇧, 🇺🇸, 🇫🇷, 🇪🇸, 🇨🇭, 🇵🇱 and 🇨🇦.

We are happy to announce, that Geoff Perlman, CEO of Xojo Inc. will join us to talk about what is new in the Xojo world for 2024. Ricardo Cruz and Javier Menendez from Xojo Inc. will join us to present about mobile and web development.

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? Finally we may visit the Geyser together on Saturday morning.

Day Date Day Evening
Monday 22nd April Welcome Event
Tuesday 23rd AprilSight Seeing Tour Dinner
Wednesday24th AprilTraining Day Reception in Hotel
Thursday 25th AprilMBS Xojo Developer Conference 1st day conference Dinner Event
Friday 26th AprilMBS Xojo Developer Conference 2nd day conference Farewell Dinner
Saturday 27th AprilGeyser tour

Black Friday coming soon

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.

WebView2 for Xojo upgrades

Since we created the WebView2ControlMBS control for Xojo based on the WebView2 control from Microsoft, we got quite a few things upgraded.

This control allows any Windows application to use the Chrome based Edge browser as a control within your application. Enjoy all the latest JavaScript, HTML and CSS features and replace use of Internet Explorer.


Embracing for each loops

In the recent version of MBS Xojo Plugins, we embrace the for-each loops in Xojo. We got quite a few classes to implement the Iterator and Iterable interfaces:


Early Black Friday Sale for Xojo

Xojo Inc. announced a sale for the next few days:

As you may all know, we’re thrilled by the incredible talent and creativity you bring to the table with the apps you create with Xojo. Your dedication is the driving force behind our community, and as we step into the season, we want to extend our heartfelt thanks for your continued support of Xojo. To show our appreciation, we’re excited to announce our “November to Remember” early Black Friday sale!

This year’s Xojo sale kicks off today and will run until Thursday, November 16th, at 11:59 PM CT. Enjoy a fantastic 20% off all Xojo licenses (New, Renewals, and Upgrades), and third-party add-ons from the Extras store!

Here’s what you can look forward to 20% OFF:

New Xojo Licenses - All new Xojo licenses for whatever platform you need, including Pro and Pro Plus.

Renewals - Renew now to get access to new Xojo releases for the next year. If you renew during the sale, your current expiration date will be extended by 1 year. Multiple-year renewals are available.

Upgrades - Upgrade your Xojo license to Desktop, Pro, or Pro Plus and get access to more features, including 1 year of updates.

3rd Party Products - Expand Xojo’s functionality with add-ons from the Xojo community in the Extras store.

SHOP NOW and make the most of these incredible offers!

*Please note: All Xojo purchases come with a 90-day money-back guarantee. Xojo Cloud is not included in this sale.


MonkeyBread Software Releases the MBS Xojo Plugins in version 23.5

Nickenich, Germany - (November 7th, 2023) -- Monkeybread Software today is pleased to announce MBS Xojo Plugins 23.5 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 rewrote JSONMBS class to use a newer C++ library. The new class should be faster, add modern features and interface compatible to JSONItem and our older JSONMBS class. Use Search function to perform JMESPath queries in Xojo. Use Query to find data and Replace functions to replace found nodes with new JSON values. Use Flatten JSON to process a hierarchy in keys and values, filter entries and Unflatten back to original JSON.

DynaPDF got updated to create PDF/A 4, 4e and 4f PDF files. New constants allow you to set this version and CheckConformance can convert a PDF to PDF/A 4 level. Iterate over various items in the DynaPDF with DynaPDFIteratorMBS in for each loops. The orientation property in DynaPDFPageMBS class became settable and we added CreateGeospatialMeasure method.

For macOS Sonoma we added support for reaction effects on macOS 14 and iOS 17. The AVCaptureReactionEffectStateMBS class allows to check state for effects. Methods in AVCaptureDeviceMBS class can check for available effects and trigger them by code. In Sonoma, you can use new methods on NSMenuMBS and NSMenuItemMBS for palette menus and section headers.

If you use MapKit or SceneKit in iOS with our MapKitIOSControlMBS and SCNIOSControlMBS controls, you can now enjoy touch events and react on them using our new NSTouchMBS class. We updated ChartDirector plugin to have more classes and methods to work on iOS including CDTreeMapNodeMBS class.

Our linux libraries are built with fortified source checks for libc to be more secure. We removed dependency on GLIBC_2.25, so you can use our plugin once again on Xojo Cloud.

For Windows we removed the VS 2019 runtime library dependency for the XML Plugin (and others). The RemoteControlMBS module got methods to check for caps-lock, num-lock and scroll-lock keyboard states.

We added MongoDB Watch Changes example project to show MongoChangeStreamMBS class, added RowsAffected property to SQLConnectionMBS and SQLDatabaseMBS classes, added renameNode and adoptNode methods to XMLDocumentMBS class, CSIdentityMBS got debugger friendlier with the properties and we include UpdaterKit within the examples.

Finally we updated CURL library to version 8.4.0, DynaPDF to, 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.

Watch MongoDB Database changes in Xojo

Did you know that MongoDB has a watch feature (change stream) to see what happens in the database?


Use DynaPDF to create PDF documents with PDF/A-4 version

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.

Performance improvements in Xojo

The last weeks were interesting as Xojo Inc.'s developer team picked up a few of the issues I filed about performance. You may benefit from them automatically as they improve things on the compiler, linker and framework.


xDev Magazine 21.6 Issue

The November/December (21.6) issue of xDev Magazine is now available. Here's a quick preview of what's inside:

Multi-column PDFs by Stefanie Juchmes
While it's fairly easy to create a single-column PDF layout, what happens if you want to do something more sophisticated and lay out text in columns? Don't worry -- Stefanie has you covered.

Design Patterns Part 1 by Marc Zeedar
Design patterns are a great way to enforce object-oriented programming and make code easier to understand and modify. But if you aren't familiar with them, they can seem complex and intimidating. This intro lesson is the first in a new series.

Rasp Pi Electronic Fun Part 4 by Eugene Dakin
Conversion of analog voltage to digital voltage is missing in Raspberry Pi. Using a MCP3008 chip and the SPI communication protocol, this article shows how to read a voltage and display the numeric value in a listbox.

Find the Differences by Marc Zeedar
A "Find the Difference" game can be a fun mental exercise in observation. Marc uses Xojo to build an editor that lets you create these games, as well as a standalone player that can be distributed to gamers.

Plus: Topics such as Xojo 2023R3, designing gauges, sets and zip files, stored procedures, and more!

MBS Xojo Plugins, version 23.5pr7

New in this prerelease of the 23.5 plugins: Download: or from DropBox.
Or ask us to be added to our shared DropBox folder.
The biggest plugin in space...


May 2024
Apr 2024
Mar 2024
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