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

Change highlight color for FileMaker script editor

Friday 09 October 2015 at 3:54 pm
We got the colors, yesterday the search field and today we got a customizable color for script editor:

The light blue FileMaker Inc. picked is a problem for a few people here at the FileMaker conference. So MBS Plugin allows in next version to define your own color to overlay the color from FileMaker. This way you can use a bolder blue and still see the selection when using a projector. Perfect for your next presentation!

Available soon for FileMaker 14 with 5.4 plugins in the next days.

Elliptic Curve Sign and Verify

Friday 09 October 2015 at 2:00 pm
Yesterday I implemented for our FileMaker and Xojo Plugins the classes/functions to use the elliptic curve functions from OpenSSL for digital signatures.

Using those functions you can create a pair of private/public keys. Using the private key you can sign some data digitally. Later you can use our verify function to verify the signature with the public key.

Now if you want to use this to sign some data, you generate your keys. The private key is stored locally. The public key is sent to your partner, client or whoever should verify the signature.

To sign data, please make a Hash first. We use SHA-512 for most secure hashes currently. This hash is than signed and we get a signature. The public key is sent to someone once. Next you send the data with signature. Now the receiver can use the public key to verify the signature on the same data hash.

For the key generation we can choose between 79 different built-in curves with various bit numbers from 112 to 571 bit.

Read more on wikipedia. Available for FileMaker and Xojo with next plugin prerelease.

FileMaker Search field for script content

Thursday 08 October 2015 at 5:04 pm
A little job for the lunch break here at the FileMaker conference in Hamburg:

We got a little search field in the right title bar for FileMaker's script editor to search in the scripts. It highlights all lines matching the text. As you see above I searched for "Grid" and three lines got highlighted in FileMaker 14.
For FileMaker 11 to 14 on Mac OS X and brand new today.

FileMaker Conference in Hamburg, Germany

Wednesday 07 October 2015 at 6:03 pm
Are you in Hamburg currently or the next days?
Be sure to visit my booth at the FileMaker Conference here.


We have flyers, pens and sweats and I try to answer all your questions. Thanks for supporting the conference.

Xojo Developer Magazine

Tuesday 06 October 2015 at 10:31 am
Since its start the Xojo developer magazine has published 77 issues with over 5000 pages. A huge library of Xojo related knowledge you won't want to miss.

The magazine is the longest available source of news, tutorials, xojo related product reviews and tips & tricks for Xojo, Real Studio and REALbasic. I still remember 13 years ago the emails from Marc Zeedar about the beginning of the magazine. I think it was a big adventure for him. How long are you subscribed?

If you have something to publish as an article or some xojo related news, be sure to email Marc Zeedar, the publisher of the magazine. For the first years I had a regular intel column with tipps about declares, windows and linux targets. Later I had an inside REALbasic column and today I publish from time to time articles around plugin features.

I recommend everyone using Xojo to subscribe as this is a valuable resource for the community and deserves our support. And if you write from time to time about an interesting topic, e.g. a blog article, think about submitting it as a short article. The community will recognize you.

Please comment, follow, retweet and like this article. On all those who refer to his article within the next three days, we raffle three free Xojo developer magazine subscriptions off. Enjoy a few issues of the magazine!

Xojo Developer Meeting in Hamburg, Germany

Sunday 04 October 2015 at 6:13 pm
In the upcoming week I visit Hamburg for the FileMaker Conference.
But while I'm there I organized a meeting for Xojo developers.

There is probably a lot to discuss like the recent conference in Netherlands, current or upcoming Xojo release and maybe someone shows what they did in Xojo?

So if you are in Hamburg on 6th October 2015 and you have time to join our dinner meeting near the main station, please contact me soon. Thanks.

Big Bundle Offer for October 2015

Friday 02 October 2015 at 9:11 pm
Recently I got asked for a big bundle. We do custom bundles for clients from time to time. More like a volume discount if they need a lot of items. And for October I offer this bundle for a fixed price:
ItemRetail Prices
MBS Xojo DynaPDF Pro$799
MBS Xojo Complete Plugin Set$299
MBS Xojo ChartDirector Plugin$299
MBS Xojo SQL Plugin$149
MBS Xojo iOS Kits$299
MBS Xojo Updater Kit$99
MBS Xojo BugReporter Kit$69
MBS Xojo Web Starter Kit$149
MBS SQLite Extension$149
Xojo Pro$699

for just $2399 USD. So anyone who wants to start fresh with Xojo and get all the goodies from us and Xojo Pro, can get them in one big bundle. Other bundle combinations are possible. But this is our special offer for October and saves you over $1000 USD!

Interested? Please contact us.
Prices listed above are without VAT or sales tax, subject to availability and in US Dollar.

Tip of day: Load ICC profile on OS X for any image format with CGImageSource

Friday 02 October 2015 at 11:22 am
With this sample code we use CGImageSource and Apple's support for 20+ image formats to read ICC Profile for any supported image file format:

// get a picture file dim file as FolderItem = SpecialFolder.Desktop.Child("sylwia.jpg") // get image source dim source as new CGImageSourceMBS(file) // read image dim image as CGImageMBS = source.CreateImageAtIndex(0) // get Color space from image dim profile as CGColorSpaceMBS = image.ColorSpace // get ICC profile data dim ICCProfile as string = profile.ICCProfile // and parse it with LCMS and show name dim LCMSProfile as LCMS2ProfileMBS = LCMS2ProfileMBS.OpenProfileFromString(ICCProfile) MsgBox LCMSProfile.Name

[ANN] MonkeyBread Software Releases the MBS Xojo / Real Studio plug-ins in version 15.3

Thursday 01 October 2015 at 11:35 pm
NICKENICH, Germany (October 1st, 2015) -- Monkeybread Software releases version 15.3 of the MBS plug-in for Xojo and Real Studio.

The MBS plug-in comprises a collection of several plug-in parts which extend the Xojo (Real Studio) development environment with 2,200 classes featuring over 57,000 documented functions. Our plugins support all three platforms Mac OS X, Windows and Linux with all project types desktop, web and console.

Some of the highlights on the 15.3 update:

Does your application need email receiving? In our new plugin version we got a set of Mime parser classes. Our examples show you how to parse an email and show plain and html text, receivers and sender, inline graphics and attachments. Using our CURL classes you can download emails via IMAP or POP3 and our example project shows you how this works. Combined with a database you can have your emails automatically get downloaded, parsed and stored in your applications database.

For Mac OS X 10.10 or newer, we have a couple of new audio classes for AVFoundation framework. This includes the AVAudioEngine class, some classes for various audio nodes with subclasses for audio effects. Our audio unit classes there allow to use any audio unit and process audio for recording and playback. The AVFoundation framework provide useful classes for reading/writing audio files. As a special plugin feature we can track levels for playing audio channels.

For DynaPDF we got a new function to compare two PDF pages and show differences using highlight annotations. DynaPDF got updated with new functions for ink and caret annotations.

Our SQL Plugin has an optional built-in SQLite library which you can use instead of providing your own library file. Our latest plugin includes SQLite 3.8.12alpha. We include the SQLite Encryption Extension which allows you to use encrypted databases with AES 128, AES 256 or RC4 encryption. The AES 128 encryption is compatible to the one used by Xojo itself for SQLite.

For this release we upgraded PHP to version 5.6.12 and rebuild the library. The PHPMBS class got a few bug fixes to make it work better and can now be used with 64-bit applications.

While we work already on Linux ARM and 64-bit support for a future Xojo version, this plugin does not include support for those new targets. Stay tuned for future updates.

Finally we updated CURL to 7.44.0, DynaPDF to, PHP to 5.6.12, libXL to 3.6.4, openssl to 1.0.2d, SQLite to 3.8.12alpha and VLC to 2.2.1.

See release notes for a complete list of changes.

[ANN] MBS FileMaker Plugin 5.3 for OS X/Windows

Thursday 01 October 2015 at 10:31 am
Nickenich, Germany - (October 1st, 2015) -- MonkeyBread Software today is pleased to announce MBS FileMaker Plugin 5.3 for Mac OS X or Windows, the latest update to their product that is easily the most powerful plugin currently available for FileMaker Pro. As the leading database management solution for Windows, Mac, and the web, the FileMaker Pro Integrated Development Environment supports a plugin architecture that can easily extend the feature set of the application. MBS FileMaker Plugin 5.3 has been updated and now includes over 3300 different functions, and the versatile plugin has gained more new functions:

Does your application need email receiving? In our new plugin version we got a set of Mime parser functions. Our examples show you how to parse an email and show subject, plain and html text, receivers and sender, inline graphics and attachments. Using our CURL functions you can download emails via IMAP or POP3 and our example project shows you how this works. Combined with FileMaker database you can have your emails automatically get downloaded, parsed and stored in your database in several related tables. Our plugin can send emails via SMTP, too.

When you need to import Tab-separated values from a text file, you can use our new FM.InsertRecordTSV function. You provide the text with tab/return delimiters, table name and field names. The plugin will read through the values and create records for you automatically.

If you need to import XML files, check our new XML.Import function. It's written in a way that it should import any XML file without the need of a XLST or similar format description. Our plugin processes the xml and creates tables for the fields and attributes found in records. Next it imports all data found in the XML into new records. Finally you can process those new records and pick the values you need form the XML.

Our plugin now handles compressed container values better. We now have functions to compress and uncompress container values. The Files.ReadFile function can also read files and return them as compressed containers.

For DynaPDF we got new functions for color management. Now you can use color profiles to render pages. This even allows to render images with CMYK color space. And we got a new function to show differences between two PDF pages.

For our SQL functions, you can now use an internal SQLite library within the plugin. This copy of the SQLite library includes the encryption extension, so you can use encrypted databases. We support AES 128, AES 256 and RC4 encryption.

We got a new audit example for you, new socket and serial functions. You can hide the bottom bar in FileMaker and use Social Requests on OS X.

We updated CURL to version 7.44.0, DynaPDF to, libXL to 3.6.4 and OpenSSL to 1.0.2d.

See release notes for a complete list of changes.

Xojo Web App with image error handler and scaling

Wednesday 30 September 2015 at 8:26 pm
By default the WebImageView in Xojo will not scale down images (Feedback case 40994) and not handle the case where an URL doesn't work (Feedback case 40996).
For a project here, we need those features, so here is a possible implementation. In our application we show preview images, but those are hosted via apache (outside the web app). This allow us to put them on other servers and keep the Xojo web app less busy. Normally in Xojo it looks like the picture below. Image doesn't fit and if an URL is broken, it shows a question mark.

Now we can change the img object with javascript. We change the sizes so the image is scaled non-proportional to the size of the control. Also we install an error handler, so we assign a new image URL for the image view for the case the image loading fails.

EventHandler Sub Shown()
dim w as string = str(me.Width)
dim h as string = str(me.height)
dim o as string = "document.getElementById('"+me.ControlID+"_image')"

// set width/height to the one of the control.
me.ExecuteJavaScript o+".width = '"+w+"px';"
me.ExecuteJavaScript o+".height = '"+h+"px';"
me.ExecuteJavaScript o+".style.width = '"+w+"px';"
me.ExecuteJavaScript o+".style.height = '"+h+"px';"
me.ExecuteJavaScript o+".style.marginLeft = '0px';"
me.ExecuteJavaScript o+".style.marginTop = '0px';"
me.ExecuteJavaScript o+".style.top = '0px';"
me.ExecuteJavaScript o+".style.left = '0px';"

// set on error event, so we replace image with error image in case of load error
me.ExecuteJavaScript o+".onerror=function(){ this.src='"+me.ErrorImage.URL+"' };"
End EventHandler
The web app now looks like this:

Of course this will work much smoother and nicer once Xojo Inc. add such a feature to the web framework. Until than we have a solution.

FileMaker Magazin - MBS Artikel

Wednesday 30 September 2015 at 5:58 pm

For our Germans speaking users:

Wir haben die Artikel zum MBS Plugin aus dem FileMaker Magazin gesammelt hier online gestellt: FileMaker Magazin Artikel:

Wir empfehlen allen FileMaker Anwender ein Abo vom Magazin und den Kauf der alten Ausgaben. Das FileMaker Magazin ist eine excellente Quelle von Informationen, Anleitungen und Profitips.

Using Markdown Javascript converter in FileMaker

Wednesday 30 September 2015 at 12:07 am
Today I created a new example for using Javascript and Webviewer in FileMaker to convert from markdown to HTML.

Actually the script is not very complicated with only a few script steps. The html file we load in the webviewer, provides the required javascript in one Convert function. Input and output is done with two invisible text areas in a form. The complete webviewer is just white and not visible to user. The script looks like this:

Set Variable [$r; Value:MBS( "WebView.SetFormTextAreaValue" ; "MarkDownWebViewer"; "formtest"; "input"; WebViewer MarkDown::Input; 1 )]
Set Variable [$r; Value:MBS( "WebView.RunJavaScript" ; "HTMLEditor"; "try { Convert(); } catch (e) { alert(e); }" )]
Set Field [WebViewer MarkDown::Output; MBS( "WebView.GetFormTextAreaValue" ; "MarkDownWebViewer"; "formtest"; "output"; 1 )]
Set Web Viewer [Object Name: "PreviewWebviewer"; URL: "data:text/html," & WebViewer MarkDown::Output]

As you see, we just fill in the form field with the markdown text. Next line we run the Convert() command. Wrapped in a try/catch to catch any javascript error and show it in an alert. Next we query the result from the second form field and display it in a text field in FileMaker. Finally we show the html in a webviewer as preview.

[ANN] MonkeyBread Software Releases the MBS Xojo Event Kit in version 1.0

Tuesday 29 September 2015 at 3:29 pm
Nickenich, Germany (September 29th, 2015) -- Monkeybread Software releases version 1.0 of the MBS Xojo Event Kit.

The MBS Xojo Event Kit provides you with a few useful classes for using the calendar for your Xojo iOS application.

Wrapper for iOS/Mac EventKit framework:
  • Query/Get access to the internal calendar and reminder database
  • Create, modify and delete reminders and events
  • Handle multiple sources of calendar data
  • Query participants for events
  • asynchronously fetch events or reminders
  • build search parameters using predicates
  • Handle recurrence rules in various aspects
Wrapper Features
  • For Xojo 2015r1 or later
  • Using exception handling to track error
  • Test code included
  • All classes with MB postfix to avoid name conflicts.
  • All module definitions are protected to avoid conflicts
  • Inline documentation
  • Full Source code, no encryption
  • Works for 32bit and 64bit targets.
Our Event Kit requires Xojo 2015r1 or newer.
If you need similar classes for OS X (32 and 64bit), you can check the MBS Xojo Cocoa Plugins from us.

The Event Kit is available for $99 USD or 79 Euro (+VAT if needed).

You can learn more on our website.

MBS Xojo / Real Studio Plugins, version 15.3pr5

Monday 28 September 2015 at 8:18 pm
New in this prerelease of the 15.3 plugins:
  • Fixed bug with sending emails. Inline graphics were not embedded correctly.
  • Updated DynaPDF to version
  • Added LCMS2StageMBS.CubeSize functions.
  • Added more variants for LCMS2StageMBS.CreateStageWithCLut16bit and LCMS2StageMBS.CreateStageWithCLutFloat.
  • Added variants of LCMS2StageMBS.CreateStageWithCLut16bitGranular/LCMS2StageMBS.CreateStageWithCLutFloatGranular for taking array or memoryblock. Clutpoints is now always an array.
  • Updated SQLite to 3.8.12 alpha for the vacuum bug fix.
  • Added CGDisplayMBS CreateImageAsync.
  • Updated libXL to version 3.6.4.
  • The internal SQLite library now includes the SQLite Encryption Extension.
Download: macsw.de/plugin/Prerelease . Or ask us to be added to our shared Dropbox folder.

MBS FileMaker Plugin, version 5.3pr5

Monday 28 September 2015 at 7:09 pm
New in this prerelease of the 5.3 plugins:
  • Fixed bug with sending emails. Inline graphics were not embedded correctly.
  • Updated DynaPDF to version
  • Fixed a bug in WebView.Screenshot with use of more than one display on Mac.
  • Fixed a bug with SystemInfo.OSVersionString not reporting Windows 10.
  • Changed SystemInfo.isWindows8 to return true for 8.1, too.
  • Updated libXL to version 3.6.4.
  • Fixed bug in RichText.ReplaceText which now works with empty text.
  • Changed RegEx.Match to return empty result instead of error for now match.
  • Added functions for email parsing.
  • The internal SQLite library now includes the SQLite Encryption Extension.
  • Added internal SQLite library which you can activate and no longer need to provide sqlite dll/dylib.
Download at monkeybreadsoftware.de/filemaker/files/Prerelease/ or ask for being added to the dropbox shared folder.

Now offering bundles with Xojo and MBS Plugin licenses

Thursday 24 September 2015 at 9:41 pm
We have been reselling a few Real Studio licenses over the years. With Xojo we also want to offer this service in the future with attractive bundles. So if you need a plugin licenses and Xojo licenses, you can now order them from us together as a package with a discount.

We can resell new licenses for Pro, iOS, Desktop, Console and Web. Simply check what you need and we make you an offer like this:

Xojo Pro with 12 month updates:620 €(from $699)
MBS Xojo DynaPDF Pro Plugin:799 €
MBS Xojo Complete Plugin:199 €
total, sold separated:1618 €
total, with MBS Bundle:1444 €

As you see we grant here a special price which saves you 174 Euro in this example. To order simply send us an email and we write an invoice for you.

Embedded SQLite and encryption

Thursday 24 September 2015 at 10:01 am
As you may know we are big fans of SQLite. So we offer for both Xojo and FileMaker to use SQLite for connecting to database with our SQL functions.

Now we have a SQLite internal library already for some time in Xojo. With next prerelease we add that for FileMaker. So with both tools you can now use MBS SQL functions and use the internal SQLite library. This frees you from providing yourself a dylib/dll file. Currently we use version, but can update at any time. If you need a specific extension for SQLite, we can also check if we can enable it by default. Currently we support column metadata, full text search, soundex and thread safety.

Another thing we add with next prerelease is encryption. We licensed the SQLite Encryption Extension and include it now by default. You can use it to access SQLite databases using our plugin with AES 128 OFB, AES 256 OFB and RC4 encryption. The AES 128 mode is the same as in Xojo (or Real Studio).

To enable encryption, please use in FileMaker the SQL.SQLite3.SetKey function after connecting. In Xojo we have SQLiteEncryptionKey properties in both SQLDatabaseMBS and SQLConnectionMBS classes. If you set those, the plugin will apply the key after connecting automatically for you. Alternatively you can use SetKey method in SQLite3MBS class directly.

Interested in testing, please contact us soon to get a copy to try or wait for the next prerelease to be uploaded.

Install FileMaker 14 Server on Windows 10

Wednesday 23 September 2015 at 4:46 pm
First, FileMaker doesn't support Windows 10 yet. The installer fails with error message "IIS Application Request Routing (ARR) is required.." for me.

The instructions from Peter Wood helped. So I downloaded and installed Application Request Routing 3.0 myself.

Next I launched the FileMaker Server installer (14v2) and cancelled it after it decompressed. Than I changed the "Assisted Install.txt" file in the Files folder with installation files to have the license key and name already, so I don't need to enter it myself.

In the setup.ini I had to remove below the [ISSetupPrerequisites] section the first four lines for Application Request Routing. I installed this software myself before and FileMaker's installer fails to download it.

To run the installer, I run cmd to open a terminal window. There I use cd to go into the folder and run this command line:

setup.exe /V"/log FM14InstallLog.log ARRINSTALLED=1"

Please mind the quotes. The installer runs through like usual and I can setup my admin account.

Finally I have a FileMaker 14 Server running on Windows 10 with MBS Plugins and no problems so far :-)

MBS Xojo / Real Studio Plugins, version 15.3pr4

Tuesday 22 September 2015 at 8:34 pm
New in this prerelease of the 15.3 plugins:
  • Changed DarwinResourceUsageMBS.SystemTimeUsed and DarwinResourceUsageMBS.UserTimeUsed to doubles.
  • Added ShowDifferences function for DynaPDFMBS class.
  • Added MimeEmailMBS.HTMLToPlainText function used to get plain text from html-only emails..
  • Fixed bug in PHP plugin which caused crash with phpinfo function.
  • Updated VLC to version 2.2.1. The new functions are 64-bit only.
  • Fixed email parsing to also parse emails without mime parts.
Download: macsw.de/plugin/Prerelease . Or ask us to be added to our shared Dropbox folder.

Older blog entries:

2015-09-22 MBS FileMaker Plugin, version 5.3pr4
2015-09-22 PDF Differences
2015-09-21 Xojo Conferences and Meetings
2015-09-20 Tip of day: Write WAV file
2015-09-18 MBS Xojo Conference in Scheveningen
2015-09-18 Greetings from Scheveningen
2015-09-16 Compressed Containers
2015-09-16 MBS Xojo / Real Studio Plugins, version 15.3pr3
2015-09-15 MBS FileMaker Plugin, version 5.3pr3
2015-09-11 Tip of the day: Build contextual menu in FileMaker from a table
2015-09-10 Video playback with mask on OS X
2015-09-10 XML Import for FileMaker
2015-09-08 Xojo on Sale
2015-09-08 New today: FM.InsertRecordTSV
2015-09-04 MBS Xojo Conference in two weeks!
2015-09-02 xDev Magazine Issue 13.5
2015-09-01 MBS Xojo / Real Studio Plugins, version 15.3pr2
2015-09-01 MBS FileMaker Plugin, version 5.3pr2
2015-09-01 QTEditableMovie Plugin
2015-08-31 Training day for MBS Filemaker Plugin - this week


Oct 2015
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