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

CURL birthday and conference

Today CURL library and command line tool turns 20 years old. It's a long time in software business and a great success with curl on nearly every computer device on earth as it ships for example with MacOS, Google Chrome, Linux, Android and others.

Since January 2007 and the MBS Xojo Plugin 7.0, we do include CURL for up- and download via ftp/http.

Since January 2012 and the MBS FileMaker Plugin 2.5, we include CURL functions for FileMaker.

And as far as I see, FileMaker Inc. added CURL right to the database engine with version 11 of FileMaker, but only added CURL options for Insert From URL script step with version 16.

See blog post from Daniel Stenberg.

For mid April we have the CURL conference on the agenda in Stockholm. Please join it if you like to learn more about CURL. See announcement and wiki page.

Interested in a meeting for FileMaker or Xojo?
See blog post for FileMaker meeting and Xojo meeting in Stockholm.

FileMaker Spanish Devcon 2018

In October all around Europe are conferences for FileMaker. This year there is the second Spanish conference:

26th to 27th October 2018 in Madrid. See Website
You can now sign up as speaker or sponsor.

MBS Workshop in Malbun bei der FileMaker Konferenz

In Zusammenarbeit mit dem Verein FM Konferenz bieten wir eine Schulung zum MBS Plugin an. Am 17. Oktober 2018 können Sie in Malbun, Liechtenstein an einer eintägigen Schulung teilnehmen. Lernen Sie die über 5000 Funktionen einmal näher kennen und wie Sie sie effektiv einsetzen. Sammeln Sie Ideen und verbessern Sie ihre FileMaker Lösungen durch den Einsatz unseres Plugins.

Das Monkeybread Software Plugin für FileMaker stellt eine vielseitige Erweiterung der eigenen Datenbank dar. Der Kurs bietet nicht nur einen tiefgreifenden Überblick in die Benutzung und Entwicklung, sondern bietet auch die Chance das Plugin günstiger zu erstehen.
  • Einführung in das MBS Plugin
  • Überblick über die Funktionsbereiche
  • Neues im MBS Plugin dieses Jahr und in der dann aktuellen Version 7.5
  • Rundgang durch ausgewählte Beispiele
  • Gemeinsames Implementieren von Plugin Funktionen in eine Datenbank.
    • Upload/Download mit CURL auf einen HTTP/FTP Server
    • Ausfüllen eines Formulares auf einer Webseite
    • Bilder bearbeiten
    • PDF Verarbeitung
    • Druckerfunktionen
    • Einbinden von Webservices with JSON/XML für REST/SOAP.
  • Fragen und Antworten
Die Teilnahme kostet 149 CHF (Frühbucher bis 17. Juni 2018) bzw. 199 CHF inkl. Verpflegung. Trainer ist der Plugin Entwickler und Monkeybread Software Geschäftsführer Christian Schmitz persönlich.

Anmeldung bei Monkeybread Software.

Am Abend vorher treffen wir uns zum gemütlichen Beisammensein im Restaurant vom Konferenzhotel. Im Anschluss an die Schulung können Sie gleich rüber zum Apero gehen und die anderen Teilnehmer kennen lernen.

Check version of FileMaker Plugins on Windows

As you may see, on MacOS we provide metadata about plugin version in Finder's info dialog. But for Windows?

Well, turns out the problem is the file extensions. FileMaker plugins for Windows are technical just DLLs with a special relation to FileMaker application. So if you rename the .fmx or .fmx64 file to .dll, you can see the metadata in the info dialog:

So if you want to know which MBS Plugin version, you have, please use this trick to read the version name.
For Linux, you can run the file as an application in command line. Each plugin from us has a little command line app in the .so files, which prints the version number to the terminal.

Normalize PDF orientation with MBS Plugins and DynaPDF

A client got scanned PDFs and they are sometimes showing rotated in FileMaker's container fields. The reason is simple: They are scanned and marked to be rotated. But preview in FileMaker ignores the orientation metadata (see issue 137094).
To fix this for the client, we wrote the following script. If first page is rotated, we assume this is a PDF which needs to be normalized to have 0° rotation. So we loop over all pages, rotate the pages with a non zero orientation to have one and add them to the new PDF: 
 # Clear current PDF document

Set Variable [ $pdf ; Value: MBS("DynaPDF.New") ] 

# Load PDF from container

Go to Record/Request/Page [ First ]

Set Variable [ $r ; Value: MBS("DynaPDF.OpenPDFFromContainer"; $pdf; Generate Previews::InputPDF) ] 

# Check if first page is rotated

Set Variable [ $rotation ; Value: MBS("DynaPDF.GetImportOrientation"; $pdf; 1) ] 

// Show Custom Dialog [ "Rotation is " & $rotation ] 

If [ $rotation ≠ 0 ] 

# Rotate all pages to 0° if needed

Set Variable [ $page ; Value: 1 ] 

Set Variable [ $pageCount ; Value: MBS( "DynaPDF.GetImportPageCount"; $PDF ) ] 


# Check current page rotatations

Set Variable [ $rotation ; Value: MBS("DynaPDF.GetImportOrientation"; $pdf; $page) ] 

If [ $rotation = 0 ] 

# import as is

Set Variable [ $r ; Value: MBS( "DynaPDF.ImportPDFPage"; $PDF; $page ) ] 


# import and rotate

Set Variable [ $template ; Value: MBS( "DynaPDF.ImportPageAsTemplate"; $PDF; $page ) ] 

Set Variable [ $template ; Value: MBS( "DynaPDF.RotateTemplate"; $pdf; $template; -$Rotation ) ] 

# now put on a new page:

Set Variable [ $r ; Value: MBS( "DynaPDF.AppendPage"; $PDF) ] 

Set Variable [ $w ; Value: MBS( "DynaPDF.GetTemplWidth"; $pdf; $template ) ] 

Set Variable [ $h ; Value: MBS( "DynaPDF.GetTemplHeight"; $pdf; $template ) ] 

Set Variable [ $r ; Value: MBS( "DynaPDF.SetPageWidth"; $PDF; $w) ] 

Set Variable [ $r ; Value: MBS( "DynaPDF.SetPageHeight"; $PDF; $h) ] 

Set Variable [ $r ; Value: MBS( "DynaPDF.PlaceTemplate"; $PDF; $template; 0; 0; $w; $h) ] 

Set Variable [ $r ; Value: MBS( "DynaPDF.EndPage"; $PDF) ] 

End If

# next page

Set Variable [ $page ; Value: $page + 1 ] 

Exit Loop If [ $page > $pageCount ] 

End Loop

# Save PDF

Set Field [ Generate Previews::OutputPDF ; MBS("DynaPDF.Save"; $pdf; GetAsText ( Generate Previews::InputPDF )) ] 

End If

Set Variable [ $r ; Value: MBS("DynaPDF.Release"; $pdf) ] 

The resulting PDF has all pages in 0° orientation, so the fact that FileMaker doesn't handle this, is no longer a problem and the PDF shows nicely.
Of course this may not work, if the pages are not marked with correct orientation metadata! 
Requires MBS FileMaker Plugin + DynaPDF Lite. With DynaPDF Pro, the resulting PDFs can include the preview JPEG to show a preview in a non-interactive container on Windows, see DynaPDF.GeneratePreview.
The same can be done in Xojo, see /DynaPDF/Rotate rotated PDF back example project.

Disabled Plugins in FileMaker

Today a client contacted use with the following problem.
Whenever they go to the plugins section in FileMaker Pro, they get an error message and the plugins are greyed out:

and after clicking OK button:

They asked for help, so we checked. Turns out they used assisted install with the option AI_DISABLEPLUGINS=1 in the configuration file. Please use AI_DISABLEPLUGINS=0 if you plan to use plugins like the MBS FileMaker Plugin.

FileMaker Pro 16.0.5 Update available

FileMaker Inc. just released the version 16.0.5 for FileMaker Pro (Advanced).

This update fixes a crash with scrolling in FileMaker Pro, which you only see with macOS High Sierra 10.13.

The same problem we fixed a few days ago with the FM.PatchNotificationProblem function. See blog article.

More details in the Support Article 26025 and download here.

We recommend everyone to install this update to avoid the trouble with older versions of FileMaker 16.
The download patches the 16.0.4 version in place, so you may want to duplicate the app before doing the update to have a copy of the old version available in case the update process fails.

As this issue only affected the MacOS desktop software, the update is not available for Windows or FileMaker Server including the FileMaker Cloud.

MBS FileMaker Plugin v8.1 with 5100 Functions In One Plugin

Nickenich, Germany - (March 6th, 2018) -- MonkeyBread Software today is pleased to announce MBS FileMaker Plugin 8.1 for macOS, iOS, Linux and 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, macOS, iOS 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 8.1 has been updated and now includes over 5100 different functions, and the versatile plugin has gained more new functions:

For years the MBS Plugin offers functions to create a drop area on MacOS. The new version adds support for Windows platform, so you can now use this feature cross platform. You define an area in your layout with a nice picture, e.g. with a drop here message. The user can than drag files from other applications and drop them on your area and trigger your script, which decides what to do with the files. We already supported promised drags on MacOS for files, which are only created on demand when the plugin accepts them. Now on Windows we support file descriptors, which allows to accept drags of virtual files. For example Outlook does provides email attachments on the fly without a temporary file and you can add them to a container field easily.

For MacOS, if you use our syntax highlighting features, you may enjoy a new one. For the database design dialog, the MBS Plugin now optionally adds a search field in the tables and fields lists. You can type a partial text and the plugin searches the list of fields/tables for this text to jump to the line of interest. With pressing return key you can jump to the next place as needed. For huge scripts we now skip variable checking or if/loop block highlighting to improve performance. If you have a Macbook Pro with TouchBar, you can optionally block ESC key and require pressing Option-ESC to trigger ESC and avoid custom function dialog and other dialogs to close too easily.

Our new XML.Validate function can validate a XML document against a given XML schema. The new XML.SetPathXML function allows to add an XML to an existing XML document at a given position.

The new WebView.CreateOnPopover function allows to create a WebKit 1.x web viewer on a popover for MacOS. This allows several web viewers on a popover which can be controlled in detail with our plugin functions.

For ImageCapture's scanner panel we got a new close script trigger, so you get notified when the user closes the window. For ImageCapture.OpenDevice we got a timeout to not block your solution.

The PHP integration in MBS Plugin got an upgrade with new error messages for execution failures.

Our Java loading code has been updated for version 9 of the Java Runtime Environment. You can now use all Java versions from 1.4 to version 9.

Enjoy new barcode options, better email sending, SQL.InsertOrUpdateRecords with multiple primary keys, improved support for connections to SQL Anywhere servers, dictionaries and quick lists with custom identifiers. We prepared for the next FileMaker version and improved CURL.SetupAWS function for Amazon S3 and Dell ECS.

Finally we updated the CURL library to version 7.58.1, DynaPDF to version, LibXL to version 3.8.2, SQLite to version 3.22.0, the JPEG library to version 9c and LibTiff to version 4.0.9 including support for BigTiff format.

See release notes for a complete list of changes.

MBS FileMaker Plugin 8.1

6. März 2018 - Monkeybread Software veröffentlicht heute das MBS Plugin für FileMaker in Version 8.1, mit inzwischen über 5100 Funktionen eines der größten FileMaker Plugins überhaupt. Hier einige der Neuerungen:

Seit ein paar Jahren bietet das MBS Plugin Drag & Drop Funktionen für MacOS an. Mit der neuen Version unterstützen wir die gleichen Funktionen für Windows. Sie können jetzt bei Mac und Windows einen Drop Bereich auf ein FileMaker Layout legen und Dateien per Drag & Drop annehmen. Ein Skript ihrer Wahl wird gestartet und kann die ankommenden Dateien verarbeiten. Wir unterstützen schon länger Promised Drags, d.h. ein Programm wie Fotos.app schreibt die Dateien erst raus, wenn wir Sie annehmen. Bei Windows funktioniert das ähnlich mit File Deskriptoren. Beispielsweise liefert Outlook Anhänge von Emails erst nach Aufforderung als virtuelle Datei aus und wir können Ihnen die Anhänge als Containerwert geben.

Für MacOS bieten wir einige schöne Erweiterungen für die Entwicklung in FileMaker an und jetzt haben wir etwas neues: Im Datenbank Design Dialog können Sie mit dem neuen Plugin die Liste der Felder und Tabellen durchsuchen. Sie können etwas Text eingeben und das Plugin durchsucht die Liste nach passenden Texten und springt zur ersten passenden Zeile. Mit der Eingabetaste können Sie dann zu den nächsten Fundstellen springen. Für eine besser Performance im Skriptarbeitsbereich schalten wir jetzt automatisch die Überprüfungen für Variablen und Schleifenblöcke für sehr große Skripts aus. Wenn Sie ein Macbook Pro mit TouchBar haben, können Sie optional die ESC Taste in FileMaker deaktivieren und durch Alt-ESC ersetzen. Somit schließen Sie aus versehen weniger Dialoge.

Die neuen XML.Validate Funktion kann ein XML Dokument gegen ein XML Schema validieren und entsprechende Fehler melden. Die neue XML.SetPathXML Funktion fügt ein XML in ein bestehendes XML Dokument ein.

Die neue WebView.CreateOnPopover kann einen WebKit 1.x basierten Web Viewer unter MacOS erzeugen und auf ein Popover platzieren. Den neuen Web Viewer können Sie dann über die Webview Funktionen im MBS Plugin steuern.

Für das ImageCapture Fenster zum Scannen haben wir einen neuen Skripttrigger für das Schließen vom Fenster. Und beim ImageCapture.OpenDevice sorgt ein Timeout dafür, dass ihr Programm nicht ewig wartet.

Die PHP Integration im MBS Plugin wurde verbessert und gibt jetzt auch Fehlermeldungen aus, wenn das Ausführen vom PHP Code nicht erfolgreich war.

Unsere Java Integration kann jetzt auch Version 9 vom Java Runtime Environment laden. So können Sie jetzt von Java 1.4 bis Version 9 alle Java Versionen verwenden.

Freuen Sie sich auf neue Barcode Optionen, besseres Emailversenden, SQL.InsertOrUpdateRecords mit mehrere Primärschlüsseln, leichtere Verbindung zu SQL Anywhere Servern, Dictionaries und QuickList mit eigenen Namen. Wir haben das Plugin für die nächste FileMaker Version angepasst und die CURL.SetupAWS Funktion für Amazon S3 und Dell ECS verbessert.

Außerdem haben wir die CURL Bibliothek auf Version 7.58.1 aktualisiert, DynaPDF auf Version, LibXL auf Version 3.8.2, SQLite auf Version 3.22.0, die JPEG library auf Version 9c und LibTiff auf Version 4.0.9 inklusive der Unterstützung für BigTiff Formate

Alle Änderungen in den Release Notes.

FileMaker Magazin - MBS Artikel

For our German 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 exzellente Quelle von Informationen, Anleitungen und Profitips.

Have you tried new search feature in MBS Plugin?

Coming for 8.1 release is the new search in tables and fields in the Database Design dialog on MacOS:

As you see, we got to the Database Design dialog in a contacts solution. There we first search for "stat" and later for "city". We can jump from one item to next with pressing return and all the visible text is searched including formulas.

If you like to try, please download 8.1 prerelease or next week the final version.

Crashes with FileMaker 16.0.4 with scroll gesture notification

If you saw the thread on the FileMaker Community, you may have noticed that for a few weeks people experience crashes with FileMaker 16.0.4 on MacOS 10.13.3.

Checking the crash reports, you see they all are quite similar and show abort being called to terminate the app due to an unhandled exception:

terminating with uncaught exception of type std::__1::bad_function_call: std::exception

Now if you look on the stack trace, you see the abort is caused due to the invocation of a notification observer. So somewhere in the function CreateNativeViewIfNeeded deep inside FileMaker, they create the scroll view for the window. They attach an observer to listen for a notification. Somehow the related object for the observing block of code is released too early. When a scroll gesture is detected in the Cocoa event handling system, the system calls the method _beginScrollGesture to inform interested observers about the new gesture coming. As the block of code observing is gone already, an C++ Exception is raised, which nobody handles, so the app goes down. The crash report looks like this:

Application Specific Information:
abort() called
terminating with uncaught exception of type std::__1::bad_function_call: std::exception

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 libsystem_kernel.dylib 0x00007fff6e66be3e __pthread_kill + 10
1 libsystem_pthread.dylib 0x00007fff6e7aa150 pthread_kill + 333
2 libsystem_c.dylib 0x00007fff6e5c8312 abort + 127
3 libc++abi.dylib 0x00007fff6c5a3f8f abort_message + 245
4 libc++abi.dylib 0x00007fff6c5a4113 default_terminate_handler() + 241
5 libobjc.A.dylib 0x00007fff6d92eeab _objc_terminate() + 105
6 libc++abi.dylib 0x00007fff6c5bf7c9 std::__terminate(void (*)()) + 8
7 libc++abi.dylib 0x00007fff6c5bf26d __cxa_throw + 121
8 libViewSystem.dylib 0x0000000103e34c17 std::__1::function::operator()() const + 65
9 libViewSystem.dylib 0x0000000103e34bd4 invocation function for block in ScrollView::CreateNativeViewIfNeeded() + 20
10 com.apple.Foundation 0x00007fff48d01330 -[__NSObserver _doit:] + 303
11 com.apple.CoreFoundation 0x00007fff46c1ebbc __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ + 12
12 com.apple.CoreFoundation 0x00007fff46c1eaaa _CFXRegistrationPost + 442
13 com.apple.CoreFoundation 0x00007fff46c1e7f2 ___CFXNotificationPost_block_invoke + 50
14 com.apple.CoreFoundation 0x00007fff46bdc670 -[_CFXNotificationRegistrar find:object:observer:enumerator:] + 1664
15 com.apple.CoreFoundation 0x00007fff46bdb7a3 _CFXNotificationPost + 595
16 com.apple.Foundation 0x00007fff48cc0467 -[NSNotificationCenter postNotificationName:object:userInfo:] + 66
17 com.apple.AppKit 0x00007fff44440470 -[NSScrollView _beginScrollGesture] + 82
18 com.apple.AppKit 0x00007fff4475789d -[NSScrollingBehaviorConcurrentVBL _startGestureScrollWithVBLFilter:] + 130
19 com.apple.AppKit 0x00007fff4443fbcf -[NSScrollingBehaviorConcurrentVBL _scrollView:trackGestureScrollWithEvent:] + 1024
20 com.apple.AppKit 0x00007fff4443ead3 -[NSScrollingBehaviorConcurrentVBL scrollView:scrollWheelWithEvent:] + 549
21 libViewSystem.dylib 0x0000000103e34179 -[VSScrollViewMac scrollWheel:] + 2052
22 libViewSystem.dylib 0x0000000103df7efa -[NativeView_Mac scrollWheel:] + 116
23 com.apple.AppKit 0x00007fff44b20029 -[NSWindow(NSEventRouting) _reallySendEvent:isDelayedEvent:] + 5040
24 com.apple.AppKit 0x00007fff44b1e85c -[NSWindow(NSEventRouting) sendEvent:] + 497
25 com.filemaker.client.pro12 0x00000001022561cb -[FMDocWindowCocoa sendEvent:] + 1221
26 com.apple.AppKit 0x00007fff4497fed3 -[NSApplication(NSEvent) sendEvent:] + 2543
27 com.filemaker.client.pro12 0x0000000101f73756 -[FMCocoaApplication sendEvent:] + 329
28 com.apple.AppKit 0x00007fff441e0d9d -[NSApplication run] + 812
29 com.filemaker.client.pro12 0x0000000101f73956 CMacApp_Main + 497
30 com.filemaker.client.pro12 0x0000000102039a73 main + 49
31 libdyld.dylib 0x00007fff6e51c115 start + 1

This looks like a little bug in FileMaker 16.0.4, where an object reference for the code block is not retained properly and kept as long as the window is alive. We expect this to be fixed soon with a 16.0.5 update.

For our MBS Plugin we prepared a workaround for you. By calling our new function FM.PatchNotificationProblem, you can let the plugin filter all notification. So whenever the _beginScrollGesture (or related methods) send a notification like NSScrollViewWillStartLiveScrollNotification, we can ignore it, so no observer is notified and nothing crashes.

Once FileMaker 16.0.5 will come out, the problem is gone and we can remove the function again...

If you like to try this plugin function, please contact us soon.

PS: New plugin uploaded with newer version of 8.1pr6 disk image.

MBS FileMaker Plugin, version 8.1pr6

New in this prerelease of version 8.1 of the MBS FileMaker Plugin:
  • Fixed Trace function to ignore extra parameters, if more than 2 passed.
  • Disabled variable checking for scripts with > 2000 lines to avoid performance hit.
  • Limit search for Loop/If boundaries to 200 rows to avoid performance hit in script workspace with huge scripts.
  • Improved variable check to detect undefined variable in variable repetition count.
  • Fixed JSON.GetPathItem returning numbers with dot incorrectly for non-english localization. Broken in 7.5.
  • Added RefNum parameter to QuickList.New.
  • Added Dictionary.CreateNamed function.
  • Known issue: Zip functions broken on Linux.
Download at monkeybreadsoftware.de/filemaker/files/Prerelease/ or ask for being added to the dropbox shared folder.

Scanning Options

As you may know we do offer three ways to scan for our MBS Plugins:
All three interfaces are still in use with customers. For some scanners, you only get one driver, so your decision is made by the manufacturer of the device. 64-bit can be a problem as TWAIN is very old and you may not find a 64-bit driver, although you can have a compatibility DLL for Windows to help translate 64-bit app to 32-bit driver.

To select the feeder, you would use ImageCapture.requestSelectFunctionalUnit early to request the DocumentFeeder as functional unit, before setting up other parameters. For WIA, you would later when requesting the scan pass Feeder as the item to use for WIA.Scan function. For TWAIN you need to enable feeder with Twain.SetFeededEnabled and enable auto feeding with Twain.SetAutofeed function. If used correctly, you should be able to scan a stack of papers on your scanner.

But before scanning, you may want to set a few options. For the feeder, you may want to enable duplex. To do this for TWAIN, you call Twain.SetDuplexEnabled passing 1 to enable duplex mode. For ImageCapture, you need to use ImageCapture.SetParameter with the duplexScanningEnabled property and the value 1. And for WIA, it is the WIA.SetItemPropertyValue function with the property named "Document Handling Select". Usually you pass a combination of values including 4 for duplex. You may also include 256 for preferred automatic selection or +512 for auto advance. The specs also allow to specify 8 for front page first, but may scanner here doesn't recognize that and returns an error. It's always good to double check and query the value you set to verify what was saved.

Next you may want to define resolution for the scan. Usually most scanners can interpolate in hardware if needed, but asking for a common resolution of 150 or 300 dpi may simply be okay for most scanners. For ImageCapture you call ImageCapture.SetParameter with parameter resolution and value 300. For WIA, you may need to call WIA.SetItemPropertyValue several times. First for item Feeder as well as item Flatbed, than for properties "Horizontal Resolution" and "Vertical Resolution" to set both. For TWAIN you call Twain.SetResolutionX and Twain.SetResolutionY to set the resolution. As said, 300 dpi usually works. But we have seen scanners which can do 200 and 100 dpi, but not 150 dpi. For ImageCapture, you can use ImageCapture.GetParameter with parameter nativeXResolution and nativeYResolution to query native resolution, preferredResolutions to query preferred resolution and supportedResolutions for a list of supporters resolutions. With WIA, the WIA.DevicePropertyValue function can query the "Vertical Optical Resolution" to let you know the native resolution.

If you scan only for OCR, you may just limit it to be black and white or grayscale. For ImageCapture, you can use ImageCapture.SetParameter to set pixelDataType to gray and bitDepth to 8 to get a 8bit grayscale image file. With WIA, you can use WIA.SetItemPropertyValue to set the item's current intent property to 2 for grayscale. For TWAIN, you would use Twain.SetPixelType to pass 1 for grayscale images.

For all three variants, you can scan with dialog and see options as well as define defaults for your scanner. That may be more convenient for some users to simply use the dialogs.

The options above are listed as MBS FileMaker Plugin calls, but for Xojo the properties are named similar and values are the same. So if you have problems translating this, let me know. And if you miss an option, please let us know. We may be able to add more options to documentation in examples.

Registration is open for FileMaker Developer Conference 2018

Registration just started for the FileMaker Developer Conference 2018.
The training on Monday 6th costs $399. Keynote will start later that evening, probably at 6pm and is followed with the welcome reception. Prices for the conference are $1299 Early Early Bird - through March 15, $1399 Early Bird - through May 31 and $1499 USD Standard.

August 6-9, 2018 | Gaylord Texan Resort | Grapevine, Texas

This is a fantastic conference hotel with 1500 rooms, 10 restaurants, several pools indoor and outdoor. And as may know this was my guess for the conference hotel.

Rooms can be reserved on the hotel website ($189 +tax per night). As you can cancel rooms and they may run out of them, you better reserve now a room and block the week in your calendar! See you there at the MBS booth.

Which versions not to use

For any software out there, the latest version is of course the best version ever released. That is true for our plugins, Xojo and FileMaker. But a lot of people do not use the latest one, but stay with older versions. That is usually fine as we don’t want to change a running system and risk that one change on a component requires other components or scripts to be updated to work again.

But some versions are really not recommended, especially if they have security related issues. In the release notes for every new version, you can learn about what bugs have been fixed. So you know what issues the old software has. Of course in most cases you are not affected and you may never notice the bug existed. To give you three examples:

If you send emails with an application built using Xojo 2015r2 with SMTPSecureSocket, you may run into the bug I found: Feedback case 39516. Due to a problem in the secure socket class, the email was transferred unencrypted in some situation. This problem was fixed later in 2015r3, so please do not use 2015r2 and maybe older versions for sending emails over encrypted connections.

The update to FileMaker 16.0.3 fixed the problem where reconnecting to a server could delete all scripts in file. To avoid this bug you should not use older FileMaker 16 releases.
Due to SSL problems in FileMaker 13, all users of FileMaker 13 must use 13.0v9 to be safe.

MBS Plugins
In our plugins we do have a few bug fixes in each release. An important one for Linux was the linking issues we found last year:

MBS FileMaker Plugin for FileMaker Cloud is fixed for version 7.5 (for Xojo in 17.3 plugins). The problem was that in older versions the plugin called a function in the plugin, but as FileMaker already defined a function with the same name, the loader would connect those functions to call the existing ones. The result was that MBS Plugin using CURL functions called the CURL library provided by FileMaker (without SFTP) instead of the built-in library (with SFTP). And both libraries usually have different versions, so you may see unexpected problems. The same happened with Xojo months before, where we got zip, jpeg and png libraries to not be the right ones. So for FileMaker Cloud servers, please do not use MBS Plugin 7.4 or older due to thís specific problem. Same for Xojo where 17.2 and earlier are affected (Linux only).

A second important bug is the boolean result problem in FileMaker, see product issue #711010. If a plugin returns a boolean, FileMaker may evaluate true being false. To work around, we changed MBS Plugin 7.5 to use numbers for booleans always. Using older plugin versions can lead into scripts running differently in debugger!

Old Libraries
Regularly we update our plugins to use the latest versions of various libraries. Libraries for basic stuff like compression (e.g. zlib), encryption (e.g. openssl) or image file reading (e.g. jpeg). By using the older libraries, you risk running into a bug which may cause a crash or allow an hacker to run code in your application.

If you still use FileMaker 11 with the openssl 0.9.8i from 2008 inside, you are at the risk of all the vulnerability found in openssl over the last ten years. Same if you still use REAL Studio which depends on QuickTime for loading pictures on Mac and the old QuickTime stuff hasn't been fixed a lot by Apple. So there may be picture files around, which can crash your app or execute arbitrary code from a hacker.

Please do not stay with old OS, old tools and old plugins. The risks of problems in the software, which have been fixed are quite real. Regularly clients report bugs which have been fixed long ago, but don't reach them as we can't fix older versions remotely. Please keep an eye on the release notes to check whether you are directly affected by any change. Update all tools when your own release cycle starts, so you have time to adjust if needed. Stay safe!

MBS FileMaker Plugin, version 8.1pr5

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

Search field in MBS FileMaker Plugin for tables and fields

For the next plugin version, we add a new search field for database design dialog to search fields and tables for name:

When you stop typing or press return, we search the table for the text. If no text is found, we beep. Otherwise, we jump to the next line which matches. This way you can quickly find all names, all fields with birth or whatever you look for. The visible text is only searched, so if there is text in a formula after a few paragraphs, we may not see it.

Coming soon for MBS FileMaker Plugin 8.1pr5 or if like to try on the weekend, drop us an email.

MBS Workshop @ Denkform

In Zusammenarbeit mit der DenkForm GmbH bieten wir eine Schulung zum MBS Plugin an. Am 1. März 2018 (auch 3. Mai 2018, 6. Dezember 2018, 7. März 2019) können Sie in Hofheim am Taunus an einer eintägigen Schulung teilnehmen. Lernen Sie die über 5000 Funktionen einmal näher kennen und wie Sie sie effektiv einsetzen. Sammeln Sie Ideen und verbessern Sie ihre FileMaker Lösungen durch den Einsatz unseres Plugins.

Das Monkeybread Software Plugin für FileMaker stellt eine vielseitige Erweiterung der eigenen Datenbank dar. Der Kurs bietet nicht nur einen tiefgreifenden Überblick in die Benutzung und Entwicklung, sondern bietet auch die Chance das Plugin günstiger zu erstehen.
  • Einführung in das MBS Plugin
  • Überblick über die Funktionsbereiche
  • Neues im MBS Plugin dieses Jahr und in der dann aktuellen Version 7.5
  • Rundgang durch ausgewählte Beispiele
  • Gemeinsames Implementieren von Plugin Funktionen in eine Datenbank.
    • Upload/Download mit CURL auf einen HTTP/FTP Server
    • Ausfüllen eines Formulares auf einer Webseite
    • Bilder bearbeiten
    • PDF Verarbeitung
    • Druckerfunktionen
    • Einbinden von Webservices with JSON/XML für REST/SOAP.
  • Fragen und Antworten
Die Teilnahme kostet 99 Euro inkl. MWSt. und Verpflegung. Trainer ist der Plugin Entwickler und Monkeybread Software Geschäftsführer Christian Schmitz persönlich.

Details und Anmeldung bei der Denkform.

Im Anschluss besteht die Möglichkeit zum FileMaker Rhein-Main Stammtisch zu kommen. Bei einem leckeren Abendessen im Restaurant Bella Bari in der Nähe der Denkform können Sie sich mit anderen FileMaker Entwicklern aus der Gegend austauschen.

PS: Die Mindestteilnehmerzahl wurde erreicht und die Schulung am 1. März findet statt.

FileMaker Konferenz 2018 in Malbun

Die Anmeldung zur FileMaker Konferenz 2018 ist eröffnet.

Vom 17. bis 20. Oktober diesen Jahres findet die neunte deutschsprachige FileMaker Konferenz in Malbun, Liechtenstein statt. FileMaker Anwender und Entwickler können ihre Teilnahme ab sofort buchen. Anmeldungen bis zum 23. Juni 2018 erhalten einen Frühbucher-Rabatt auf die Konferenzpauschale.

Die Veranstalter vom Verein FM Konferenz erwarten auch 2018 rund 180 Entwickler, Anwender, IT-Fachleute und Entscheidungsträger aus Wirtschaft, Bildung und Verwaltung. Rund um über 25 Fachvorträge und Workshops wird es viel Zeit zum Vernetzen in den gemeinsamen Pausen und beim Abendprogramm geben.

Eventuell gibt es auch 2018 wieder eine MBS Plugin Schulung bzw. Workshop. Hat da jemand Interesse?

Older blog entries:

2018-02-20 MBS FileMaker Plugin, version 8.1pr4
2018-02-16 WebViewer on Popover with MBS Plugin
2018-02-14 The ESC key on the Touch bar
2018-02-14 MBS FileMaker Plugin, version 8.1pr3
2018-02-14 FileMaker, Inc. Launches New Events Web Pages
2018-02-10 SMTP Server Settings
2018-02-07 MBS FileMaker Plugin, version 8.1pr2
2018-02-06 Using ExecuteSQL with Parameters is important
2018-02-06 Windows Scripting
2018-02-05 Drop area for Windows in FileMaker
2018-02-03 The Status of our PHP support
2018-02-02 MBS FileMaker Plugin, version 8.1pr1
2018-02-02 FileMaker Stammtisch Ulm
2018-01-30 Search in FileMaker Calculations and Custom Functions
2018-01-29 FileMaker Stammtisch Rhein-Main
2018-01-29 MBS FileMaker Plugin registration dialogs
2018-01-28 Java with MBS Plugin
2018-01-23 MBS FileMaker Plug-in 8.0 - Über 5000 Funktionen in einem Plugin
2018-01-23 MBS FileMaker Plugin 8.0 - More than 5000 Functions In One Plugin
2018-01-19 Sign up for MBS Newsletters


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