Our Blog, FileMaker only, Xojo only, Archive (older)     Follow us on Twitter, Xing, LinkedIn or Facebook.

Linux 64-bit ARM support coming to Xojo


Have you seen the updated roadmap from Xojo Inc.?

It now listed ARM64 for Linux as an item they work on. This currently number 2 in the feedback user favorites. We are very happy Xojo Inc. finally schedules this feature for implementation. We asked for that long ago.

The feature request 42794 was created in 2016 when Raspberry Pi 3 with 64-bit CPU got available. While most Raspberry Pi computers still work in 32-bit for compatibility, you can run the newer ones with 64-bit Debian Linux distribution. And since Amazon provides ARM based server hardware for their AWS EC2 service, you may enjoy using those machines with Xojo applications soon. AWS with ARM are priced lower compared to Intel based systems. Finally Apple's recent M1 Macs run virtual machines with Linux, which could also benefit from Xojo applications.

For our plugins we have Linux ARM 64-bit support already. All our plugins are built for arm64 and wait here for a future Xojo version to test. Of course we need a newer plugin SDK, which may introduce this target and clarify a few things like the updated plugin structure.

See older blog post Build System Updates for new targets, Building for future Xojo targets and Building plugins for Linux on ARM.

Please know that the roadmap lists various items Xojo Inc. works on, but not all and not necessarily in the order they ship. The listed items tend to be the ones, which takes multiple releases to get finished. Smaller items, which can be done in a few days by an engineer, may not be listed there.

Lost messages


Client contact us in various ways. Mostly email, but some go via website chat, feedback form, text/iMessage/Signal messages, some use Skype or send private messages on LinkedIn, Facebook, Twitter or Xing. All the messages usually arrive and we get notified. But sometimes it fails.

If you don't get an answer within a reasonable time, e.g. 2 days, please contact us again using an alternative way. The idea with 2 days is that there may always be a holiday or time in an airplane while traveling, where we have no chance to look into your message.

Recently we had a client putting several support requests into a web form on our website which all were not delivered. Not sure what the outage was that let a few of many messages not come through. Other clients sent messages before, in-between and after and those worked. If the web form doesn't work, please come back via email. The client was of course very disappointed, but waited weeks before they contacted us via email about this. We could have helped quicker.

One thing not to forget is to put our domain monkeybreadsoftware.de on a white list for your spam filter or add our support email address to your contacts. This may prevent spam filters to block us. Regularly our emails get blocked and answers or even license key delivery fails. A way to overcome that is to provide a second email for us, so we can answer to that one. And finally typing your own email address into a form can be difficult. If we have you in the database or a previous email, we can correct a typo, but for new clients, we often have no way to answer them.

We also encourage users to post on the relevant forums. The community may help with questions about our plugins and often answer quicker than us. But even while we monitor a dozen forums for new posts regularly, we may still miss a message there. But feel free to refer to @Monkeybreadsoftware in your postings to call us specifically.

As always, please don't hesitate to contact us if you have questions.

Spell Checking on Windows for Xojo


We had NSSpellCheckerMBS class for macOS for years. But for Windows we had a missing spot in our class lists. Microsoft added spell checking for Windows 8 as a system wide service.

For MBS Xojo Plugins in version 21.2 we add the WinSpellCheckerMBS class to check for supported languages. Pick a country & language specification and initialize a new spell checker. Then you can check some text for error sand get an array of WinSpellingErrorMBS objects. Spell checking may suggest direct replacements, deletions or showing suggestions. We do have a Suggest() function to ask for suggestions and show them the user.

If you like, you can define auto corrections, ignore words and add words to teach the engine your custom words. Optionally you can use user dictionaries.

In general the functions work on Windows 8 and newer except a few newer functions like the Remove method, which needs Windows 10.

Please try and let us know how it works. You may need to develop your own integration to show in text area what is mistyped.

MBS Xojo Plugins, version 21.2pr3


New in this prerelease of the 21.2 plugins:
  • Added classes for spell checking on Windows: WinSpellingErrorMBS, WinSpellCheckerOptionDescriptionMBS and WinSpellCheckerMBS.
  • Updated HIDAPI library to version 0.10.1.
  • Removed WriteAsync for HIDAPIDeviceMBS class.
  • Added GetInputReport and VersionString methods to HIDAPIDeviceMBS class.
  • Changed iOS Simulator plugin parts to be universal.
  • Added more key getters for NSURLMBS class.
  • Added constructor for string to SQLDateTimeMBS class.
  • Updated SQLAPI to version 5.1.4b6 with new DuckDB support.
  • Patched SQLAPI to parse timestamps with fraction better.
  • Added new constructor for CKDatabaseMBS class to create a copy with your subclass.
  • Updated DynaPDF to version 4.0.51.144.
  • Added ChangeFontEx function to DynaPDFMBS class.
  • Added kcoDefaultNormalize, kcoDefaultPDFA1, kcoDefaultPDFA2, kcoDefaultPDFA3 constants for use with CheckConformance function to DynaPDFMBS class.
  • Updated CURL library to version 7.76.1.
Download: monkeybreadsoftware.com/xojo/download/plugin/Prerelease/ or from Dropbox.
Or ask us to be added to our shared Dropbox folder.

MBS FileMaker Plugin, version 11.2pr3


New in this prerelease of version 11.2 of the MBS FileMaker Plugin: Download at monkeybreadsoftware.com/filemaker/files/Prerelease/, in Dropbox folder or ask for being added to the dropbox shared folder.

Claris switches to Ubuntu for Linux servers


Today Claris International Inc. informed the public, that they switch from CentOS to Ubuntu for their favorited distribution for Linux servers.

see community posting:
Deprecation and removal of support for CentOS Linux from Claris FileMaker Server

and the support article:
Deprecation and removal of support for CentOS Linux from Claris FileMaker Server

Claris FileMaker Server 19.2.1 is the last version on CentOS and will be supported till October 28, 2022. The next Claris FileMaker Server release will require Ubuntu. We expect this to be released within a few months.

Our MBS FileMaker Plugin already runs fine on Ubuntu servers with pre-release FileMaker Server software. If you’re interested in testing FileMaker Server on Ubuntu, send an email to ets@claris.com to be considered for the External Testing Site (ETS) program. Then you can install a server in a VM and install our current MBS Plugin.

If you have a Linux server, you may just spin up a new one later this year, install Ubuntu and a newer Claris FileMaker version. Then copy your database over and change DNS to point to the new server. Don't try to upgrade. Keep the old server as a backup, ready to take over if the setup of the new one fails. Once you migrated, you can then retire the old server (VM).

In case Claris decides to support Linux on ARM 64-bit in the future, we can would be happy to build our plugin for such a platform.

Thank you for the birthday cards


For my birthday last Sunday I got a lot of nice emails, greetings and comments. But a few people went further and surprised me with letters, cards and even some presents!



We collected them all and put them on a fish net in the hallway, so we can remember them.

Thanks everyone for your good wishes and heart-warming texts. The Xojo people for example printed a special postcard with several pictures with me and staff on it.
See you all soon on the next conferences!

We are Claris Partner


We continue to be a Claris Partner as we just renewed our FBA membership:

It is already nine years since we applied for this and being a Claris Partner helps:

The listing on the website as well as recommendations to prospects by Claris employers helps to bring business to your company. You get a discount for license purchase so you can make some money selling your solution bundled with the FileMaker licenses and offer one stop shopping to your clients. You can list your products on the marketplace and use Solution Bundle Agreement if you like to sell a lot of bundles. Access to beta versions, extra training sessions, exclusive partner meetings and a few test licenses are included. And you can bundle tools like the data migration utility with your solutions.

If you like to become Claris Partner, you can read more on the Claris website.

MBS Xojo Plugins, version 21.2pr2


New in this prerelease of the 21.2 plugins:
  • Added CopyCellValue method to XLSheetMBS class.
  • Changes NSAttributedStringMBS and NSColorMBS classes to not reference macOS only function selectors.
  • Changed parser in JSONMBS to be accept leading zeros on numbers.
  • Updated DynaPDF to version 4.0.50.143.
  • Implemented MacMousePositionX and MacMousePositionY functions for RemoteControlMBS module for macOS 64-bit.
  • Added WinMouseClick taking integer parameters to RemoteControlMBS module and deprecated the boolean variants.
  • Added TypoAscender and TypoLeading properties to DynaPDFFontMetricsMBS class.
  • Added userDidAcceptCloudKitShareWithMetadata event for NSApplicationDelegateMBS class.
  • Enabled RabbitMQ plugin for iOS.
Download: monkeybreadsoftware.com/xojo/download/plugin/Prerelease/ or from Dropbox.
Or ask us to be added to our shared Dropbox folder.

MBS FileMaker Plugin, version 11.2pr2


New in this prerelease of version 11.2 of the MBS FileMaker Plugin: Download at monkeybreadsoftware.com/filemaker/files/Prerelease/, in Dropbox folder or ask for being added to the dropbox shared folder.

Happy Eastern 2021



MBS Xojo Plugins, version 21.2pr1


New in this prerelease of the 21.2 plugins:
  • Added CDViewPortControlBaseMBS class and new RealTime ViewPort example for ChartDirector.
  • Added code to use ICU libraries for SQLite. See new properties on InternalSQLiteLibraryMBS module.
  • Added DynaPDFHeaderFooterMBS class.
  • Added GetInfoReferer, OptionDOHSSLVerifyStatus, OptionDOHSSLVerifyHost, OptionDOHSSLVerifyPeer to CURLSMBS class.
  • Added InitModules method for JavaScriptEngineMBS class.
  • Added more methods to NSToolbarItemMBS and NSToolbarMBS classes.
  • Added more NSVisualEffect* constants for NSVisualEffectViewMBS class.
  • Added more properties for NSSharingServiceMBS class.
  • Added new NSImageScale constants to NSImageViewMBS and NSImageCellMBS classes.
  • Added optional ContentTypeMethod as parameter for AddAttachment in CURLEmailMBS class.
  • Added RabbitMQ plugin wrapping the RabbitMQ message broker.
  • Added scaleTo method for CIImageMBS class.
  • Added workaround for error 561 in BarcodeGeneratorMBS class. We lower ECC level now if text doesn't fit otherwise.
  • Changed CURL classes to not print password for SFTP transfer in debug log. Left overs from debug session in 21.1 betas.
  • Changed DrawRotatedTextMBS, MeasureRotatedTextMBS and DrawCGPDFDocumentMBS methods to use newer API to get the CGContextRef for drawing.
  • Changed functions returning CVImageBufferMBS to return CVPixelBufferMBS if the image buffer contains pixels.
  • Enabled math and geopoly functions for internal SQLite library. see InternalSQLiteLibraryMBS
  • Fixed a problem in CURL with OptionSSLKeyBlob in CURLSMBS not working correctly.
  • Fixed an issue with Optimize method in DynaPDFMBS class complaining about no open output file.
  • Fixed error handling in JavaScriptEngineMBS class, broken in v21.1.
  • Fixed problem in UDPSocketMBS class with stack overflow exception if you happen to call poll within DataAvailable event.
  • Fixed problem with NSAutoreleasePool problem with App Store.
  • Fixed scaling issue with CDViewPortManagerMBS passing port size.
  • Fixed scaling issue with setTickDensity method in CDAxisMBS.
  • Rewrote DeclareCallBackMBS with a thread safe queue for asynchron mode.
  • Updated CURL library to version 7.76.0.
  • Updated DuckDB to version 0.25.
    Please note that the binary format for files is not compatible with older version. Please export and import into new database.
  • Updated DynaPDF to version 4.0.49.142.
Download: monkeybreadsoftware.com/xojo/download/plugin/Prerelease/ or from Dropbox.
Or ask us to be added to our shared Dropbox folder.

MBS FileMaker Plugin, version 11.2pr1


New in this prerelease of version 11.2 of the MBS FileMaker Plugin: Download at monkeybreadsoftware.com/filemaker/files/Prerelease/, in Dropbox folder or ask for being added to the dropbox shared folder.

Company's 21st Birthday


1st April 2000 I founded my company. Well, I registered as a business by getting my business registration (Gewerbeanmeldung) here in Germany.

That was 2 months before I finished school (Gymnasium). While alternative civilian service (Zivildienst) and my time at the university, the company run well and I didn't have to depend on my parents or student loans. Actually the company got me so busy over the years, that I spend less time at university and since 2007 this is my full time job.

I had a few clients in that time interested in development in REALbasic, a very young development environment which started two years earlier. At that time I had a website with a few freeware utilities, so people could see that I can do development. Two years later the demand for plugins got so high, that end of 2001 I started publishing my own plugins. And since 2006 I got into FileMaker Plugin development.

Thanks everyone for supporting me over the years!

PS: If you need a new license this weekend, use coupon code Birthday for an 21% discount.

Xojo 2021r1


In a good tradition to inform about a new Xojo release, please let me point to what's new and special. My point is different than the official announcement and I look forward to see other fellow Xojo developers to publish blog articles about their views.

Announcement   Release Notes   Download   Announcement in Forum

The new release brings a few well needed bug fixes, a few new items and a few nice goodies for us. First the IDE itself is built for Apple Silicon, so you can enjoy native speed on the new Macs from Apple. On the way to this goal, the XojoScript plugin got updated for Apple Silicon and helpers are now built with Apple Silicon support. Xojo Inc. got their own LLVM based compiler to output code for Apple Silicon, update the linker and also the just-in-time compiler in XojoScript. Kudos to Xojo Inc. as they are one of the first to fully support the new CPUs.

A big change is the rewrite of JSONItem class. Under the hood they now use a C++ library alle yajl internally. This makes the JSON processing a lot faster in Xojo, but has a bit different behavior. Some of the subtile changes may cause trouble, so please try with your projects and see the improvements. Testers found and reported a few possible issues and Xojo Inc. already fixed them. There should be a big upside on performance with a little downside of smaller behavior changes. Web 2 benefits greatly from this change and gets a performance boost internally. Speaking of Web 2, the WebLocation control is back. Hurray!

If you do iOS, you may be happy to see that Apple no longer complains about some bundle identifiers used for the plugins. Now you can submit your Xojo app to the App Store once again including various plugins. Plugins enabled for iOS include the XML, SSL Socket, SQLiteDatabase, RegEx, Encodings and Crypto ones within Xojo itself.

The new UserAuthentication class looks interesting to do authentication via face or finger print on supported devices. But as far as I see it uses the same API as we do for our LAContextMBS class, which works for macOS and iOS.

The Web 2 framework got a lot of attention with new controls, a lot of bug fixes and small improvements. We still have to wait for something like a style editor and a way to get old projects migrated preserving the custom styles for individual controls. And we still have a couple of leaks in the web framework, but looks like they are not yet found and fixed. For the time being you may enjoy an improved WebFileUploader performance and the JSON speed-up.

MBS Plugin 20.5 and newer should work fine. Older versions may run into issues. Please check release notes for our plugin to learn what we changed over time. For iOS development with our plugins, please use version 21.1. Remember that our current 21.1 plugins support Xojo from version 2006r4 to 2021r1.

Nevertheless, this is a solid release and we used it for a few things the last weeks and had no issues with our projects. Please try it and report feedback to Xojo soon. What have you noticed?

RealTimeViewPort in ChartDirector


We have a new video with a quick demonstration of a new example project for our MBS Xojo ChartDirector Plugin.

All Xojo movies   Watch on YouTube.

The new MBS Xojo Plugins 21.2 are coming early April 2021 and include the new CDViewPortControlBaseMBS class to build a control based on ChartDirector with two connected views.


Combined Components with MBS FileMaker Plugin


When using MBS FileMaker Plugin, you may need to combine a lot of functions together to get some work done. That makes our toolbox of functions so flexible to use for your needs. Let us show you four examples:

Regularly import files from hot folder

  • First you start with Schedule functions to run a script regularly every few minutes in FileMaker Pro. Independent of SetTimer script step, so you can have multiple of them.
  • You look into a file path with Files.List to get a list of file names in the folder.
  • By using our List functions you compare the current file list to the one from last run. For example List.And would find similar files in both files, while List.FindUnequals would find the ones different.
  • Next you use Path functions to build file path by taking folder path and the file name. Use Path.AddPathComponent to not care about slash vs. backslash.
  • A function like Hash.DigestFile may quickly get you a SHA512 secure hash of the file.
  • You can do a search in FileMaker to check whether the hash is known. Or use our FMSQL functions to do the check with a FM.ExecuteFileSQL call to do a "SELECT COUNT(*) WHERE hash=?" SQL query to count the records and either get back 0 or 1.
  • To read the file you may use Container.ReadFile function and get it in a variable first.
  • You can then create a new record for the file with FileMaker script steps. Or you use FM.InsertRecord to create record for it without switching layout.
  • If you do a document database, you may go for a PDF document and use our PDFKit functions or DynaPDF functions to extract text for PDF, maybe split the PDF and make preview pictures for the pages.
  • For image files, you may use GraphicsMagick functions or CGImageSource functions to extract metadata for image files like camera model or GPS coordinates.
(more)

Bringing RabbitMQ to Xojo


For next MBS Xojo Plugins we add a new RabbitMQ plugin part to wrap the open source RabbitMQ C library and bring the functionality to Xojo.

RabbitMQ itself is an open-source project implementing a message-broker software. It's a server software to do message queues and then there are various clients available to use the services.

We got a couple of classes for you:
The connection class allows to connect and then use the services. This includes managing queues and exchanges, so you can declare a new queue if needed. Then you can send messages to the queue or receive messages. We already got 10 example projects made for you to try the various things by translating a few C examples. Since you can install RabbitMQ yourself on a local VM, you can just try it locally.



We built the plugin for all platforms we support, which includes macOS, iOS, Windows and Linux for both 32/64 and Intel/ARM targets. We include OpenSSL library, so you can use with and without SSL options. As usually the plugin handles memory and error management and hides a couple of low level stuff, especially all the value serialization with arrays, tables and variants.

Coming soon for 20.2 pre-release for you to test. Let us know if you have questions.

Dash help archives for FileMaker 19.2


For browsing help files, the Dash application is very useful on Mac and iOS. We just uploaded newer dash files for FileMaker 19.2 for you.

For FileMaker you find the docsets for version 19.2 and older here: FileMaker Dash Docsets

[Archive] FileMaker 19.2 de.zip
[Archive] FileMaker 19.2 en.zip
[Archive] FileMaker 19.2 es.zip
[Archive] FileMaker 19.2 fr.zip
[Archive] FileMaker 19.2 it.zip
[Archive] FileMaker 19.2 ja.zip
[Archive] FileMaker 19.2 ko.zip
[Archive] FileMaker 19.2 nl.zip
[Archive] FileMaker 19.2 pt.zip
[Archive] FileMaker 19.2 sv.zip
[Archive] FileMaker 19.2 zh.zip
[Dir] FileMaker 15/
[Dir] FileMaker 16/
[Dir] FileMaker 17/
[Dir] FileMaker 18/
[Dir] FileMaker 19/ 

Feedback is welcome. The conversion process creates an index of functions, script steps and guides. We also remove some JavaScript to make it work better.

For Windows and Linux, you can use Zeal application.


How you can Start with DynaPDF


Let me explain how to get started with MBS Xojo DynaPDF Plugin.

But first what is DynaPDF?
The DynaPDF library is a full featured PDF library for C developers and we provide you a Xojo integration as a plugin. With DynaPDF you get functionalities to create, edit, merge, analyze or sign PDF files within your Xojo application. With DynaPDF you can e.g. write an invoice for your customer in which you integrate a barcode with payment information and attach the always same terms and conditions to the PDF document. This invoice can also be converted to PDF/A for archiving purposes.

While your users can open a PDF and do some operations in Acrobat Reader (or the full Acrobat product), our plugin allows you to do things automatically in your code. You write the code to use the plugin to apply changes to many PDFs. Like process a folder of 100 invoices, extract text from each and look for vendor names in them to tag them automatically. Or use regular expressions to find the bank account and amounts.

Different Licenses
If you want to use the MBS Xojo DynaPDF Plugin, you need a suitable license of DynaPDF and the MBS Xojo DynaPDF Plugin. You can of course just test the plugin without a license and try all functions before you order. There are four different license levels available for DynaPDF. Which license you need depends strongly on which methods you plan to use. For example, if you only want to insert links in a new PDF document, a starter license is sufficient. If you also want to add a page to an existing PDF document, you need a Lite license for the import feature. If you want to read images from existing PDF files or import single PDF pages from another PDF document, you need a Professional license. Same applies for rendering pages for display or printing. With the additional PDF/A converter license, you get the possibility to convert already existing documents from PDF to PDF/A. All MBS DynaPDF licenses can be used for Xojo, FileMaker, C/C++, C#, Delphi, Lazarus, PHP, VB, VBA, and VB .Net with the appropriate DynaPDF versions. (more)

Older blog entries:

2021-03-26 Welcome to the new agile world
2021-03-26 12th birthday of MBS SQL Plugin
2021-03-25 Two new books about FileMaker in 2021
2021-03-24 Xojo Developer Magazine Year Books
2021-03-22 DynaPDF 4.0.49 for iOS
2021-03-22 MBS @ FMTraining.TV
2021-03-22 SQLite and ICU Extension for Xojo
2021-03-21 Seven things to add to your FileMaker solution today with MBS Plugin
2021-03-20 Xojo checks self for nil
2021-03-18 Watching for Errors with MBS Plugin
2021-03-16 FileMaker Pro 19.2.2 released
2021-03-16 News from the MBS Xojo Plugins Version 21.1
2021-03-16 MBS FileMaker Plugin 11.1
2021-03-15 FileMaker Developers in Southern California
2021-03-14 Vier Monate bis zur Deutschen FileMaker Konferenz 2021 in Malbun
2021-03-14 Seven months till XDC 2021 in London
2021-03-11 Video about MBS FileMaker Plugins 11.1
2021-03-11 Video about MBS Xojo Plugins 21.1
2021-03-09 MBS FileMaker Plugin 11.1
2021-03-09 MonkeyBread Software Releases the MBS Xojo Plugins in version 21.1

Archives

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
XML: RSS Feed XML: Atom Feed