In this article I want to introduce you the new functionalities from the MBS Xojo Plugins in version 23.5.
DynaPDF
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.
(more)
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.

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.
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.
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.
(more)
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:
(more)

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

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 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.
Did you know that MongoDB has a watch feature (change stream) to see what happens in the database?
(more)

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

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!

New in this prerelease of the 23.5 plugins:
Download:
monkeybreadsoftware.de/xojo/download/plugin/Prerelease/ or
from DropBox.
Or ask us to be added to our shared DropBox folder.