Links from documentation to blog entries

This blog is running for for over 10 years already. We have a ton of articles here and now we link them to our plugin documentation, FileMaker and Xojo.

In the documentation, when you find a function or class, which has been mentioned in an article, the maximum 10 newest articles will be listed for you to jump right into the blog and read it.

Earlier this year we got the links to CURL documentation, DynaPDF documentation and all our example projects into the documentation.

And with a documentation browsing tool like Dash, you would even find the blog entries there.

For dash documentation we added Interfaces and Plugin parts to the index.
Get the dash docset here for FileMaker and here for Xojo.

MBS FileMaker Plugin 8.5 - More than 5500 Functions In One Plugin

Nickenich, Germany - (November 27th, 2018) -- MonkeyBread Software today is pleased to announce MBS FileMaker Plugin 8.5 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.5 has been updated and now includes over 5500 different functions, and the versatile plugin has gained more new functions:

Our SSH functions got a new tunnel feature. Beside file transfers over SSH (SFTP), running remote shell commands on another computer via SSH, we now finally got a tunnel feature. You can tunnel for example a MySQL database connection through the SSH tunnel to reach a database server in the data center, which is not available directly via the internet.

New smartcard functions for APDU protocol allow you to read data from various smart cards. This includes reading swiss health insurance cards, belgian identity cards and many more.

Our new Text.MergeFields function can merge field values, variables and evaluate expressions to fill values into a text.

For MacOS we got a new function to remember column widths in the dialog for custom functions. Our preferences dialog got new checkmarks to enable/disable this feature. File dialogs for MacOS can now operate as sheets with script trigger when done to process files selected. For all lists shown in FileMaker, you can click on them to set focus, press command-option-C to copy the content of the table. With Command-+ or - you can zoom in the lists, which is great for presentations.

To better track errors returned by MBS plugin calls, you can use our Plugin.SetErrorScriptTrigger function. When a plugin function returns an error, we will schedule a script trigger to report the error with a JSON object. The JSON contains details like script name, MBS call with parameters, result and some more details.

A couple of functions got ported for more platforms. The Windows.Scrollbar functions now work for MacOS, iOS and Windows. The WebView.Screenshot and Window.Screenshot got ported to iOS. We implemented Files.GetNodeID and Files.GetPathFromNodeID for WIndows. And with WebView.Scrollbar functions you can scroll a web viewer in FileMaker 16 with MacOS and iOS.

We updated the Amazon S3 example to do upload, download, delete and listing for files in the buckets. FTP file listings can now be returned as JSON to process easier. Webview.ClearBrowserSession function allows you to end browser session for Windows and clear session cookies.

As we now build the plugins with Xcode 10.1 for 64-bit and Xcode 9.4 for 32-bit, we moved the minimum MacOS version required up to MacOS 10.9.

Finally we upgraded CURL to version 7.62.0, DynaPDF to version 4.0.25.63, OpenSSL to version 1.1.1 for all targets, SQLite to version 3.25.2, SQLAPI library to version 4.2.4 beta 2, and zlib to version 1.2.11.

See release notes for a complete list of changes.

Neues MBS FileMaker Plugin 8.5 - Über 5500 Funktionen in einem Plugin

27. November 2018 - Monkeybread Software veröffentlicht heute das MBS Plugin für FileMaker in Version 8.5, mit inzwischen über 5500 Funktionen eines der größten FileMaker Plugins überhaupt. Hier einige der Neuerungen:

Unsere SSH Funktionen haben jetzt eine neue Tunnel Funktion. Neben Dateitransfers via SSH (SFTP) und dem Ausführen von Shell Befehlen auf einem entfernten Computer via SSH haben wir jetzt SSH Tunnels eingebaut. Sie können beispielsweise einen Tunnel aufbauen ins Rechenzentrum und eine MySQL Datenbankverbindung durch leiten, wenn der MySQL Server nicht direkt über das Internet erreichbar ist.

Neue SmartCard Funktionen für das APDU Protokol erlauben Ihnen Daten von verschiedenen SmartCards zu lesen. Das funktioniert unter anderem mit den Schweizer Krankenversicherungskarten und den Belgischen Personalausweisen.

Unsere neue Text.MergeFields Funktion kann Platzhalter im Text durch Werte ersetzen. Dabei können Sie Feldwerte, Variablen und sogar Formeln verwenden.

Für MacOS merkt sich das Plugin jetzt die Spaltenbreite für den Eigene Funktionen Dialog. Unser Voreinstellungsdialog hat für diese Möglichkeit und andere Funktionen neue Häkchen bekommen zum Ein- und Ausschalten. Dateidialoge können bei MacOS asynchron laufen und später ein Skript triggern mit dem Ergebnis. Für alle Listen in FileMaker selber bietet das Plugin die Möglichkeit den Inhalt mit Befehl-Alt-C in die Zwischenablage zu kopieren. Mit Befehl-+ oder - können Sie in den Listen die Ansicht vergrößern bzw. verkleinern, ideal für Präsentationen.

Mit der neuen Funktion Plugin.SetErrorScriptTrigger können Sie Fehler bei Pluginaufrufen leichter mitschreiben. Sollte ein Pluginaufruf einen Fehler melden, wird ein voreingestelltes Skript getriggert mit einem JSON Block an Informationen. Darunter dann der Name vom Skript, welche Funktion mit welchen Parametern aufgerufen wurde und welche Fehlermeldung zurück kam. So können Sie Fehler aufzeichnen mit Kontextinformationen.

Einige Funktionen sind jetzt auf anderen Platformen verfügbar. Die Windows.Scrollbar Funktion unterstützt nun MacOS, iOS und Windows. Die WebView.Screenshot und Window.Screenshot Funktionen unterstützen zusätzlich iOS. Die Funktionen Files.GetNodeID und Files.GetPathFromNodeID laufen jetzt bei Windows. Und die WebView.Scrollbar Funktion scrollt bei FileMaker 16 mit MacOS und iOS.

Das Amazon S3 Beispiel kann Dateien hoch- bzw. runter laden, löschen oder die Dateien auflisten. FTP Dateilisten gibt es jetzt als JSON Block zum Parsen. Die Webview.ClearBrowserSession Funktion erlaubt Ihnen eine Browser Session für Windows zu beenden und das löscht die Session Cookies.

Da wir nun die Plugins mit Xcode 10.1 für 64-bit und Xcode 9.4 für 32-bit bauen, haben wir die minimale MacOS Version auf 10.9 gesetzt.

Außerdem haben wir noch die CURL Bibliothek aktualisiert auf Version 7.62.0, DynaPDF auf Version 4.0.25.63, OpenSSL auf Version 1.1.1 für alle Platformen, SQLAPI library auf Version 4.2.4 beta 2, SQLite auf Version 3.25.2 und zlib auf Version 1.2.11.

Alle Änderungen in den Release Notes.

MBS Workshop @ Denkform

In Zusammenarbeit mit der DenkForm GmbH bieten wir eine Schulung zum MBS Plugin an. Am 6. Dezember 2018 (auch 7. März 2019) können Sie in Wiesbaden-Igstadt an einer eintägigen Schulung teilnehmen. Lernen Sie die über 5500 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 8.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
  • Adressbuch und Kontakte abfragen bei Mac OS X.
  • 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.

MBS FileMaker Plugin, version 8.5pr9

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

MBS FileMaker Plugin, version 8.5pr8

New in this prerelease of version 8.5 of the MBS FileMaker Plugin:
  • Changed GraphicsMagick functions to pass file name from container to image when reading, so we can save again with same name in output container value.
  • Updated DynaPDF to version 4.0.25.63.
  • DynaPDF now uses FreeType library and dropped Mac 32-bit target. We still include latest 32-bit dynapdf library for your convenience, but that is now deprecated.
  • Improved ImageCapture.RequestSelectFunctionalUnit to better track which unit is selected and skip the request if the device is already selected.
  • Fixed bug in Font.CalculateTextWidth with loading font.
  • Changed GMImage.NewImagesFromFile to reject .PDF file as GraphicsMagick doesn't really read PDF files.
  • Added timeouts for ImageCapture functions so the plugin doesn't wait endless. 30s for opening session, 20s for closing, 30s to select unit, 60s to scan.
  • Changed ImageCapture.RequestSelectFunctionalUnit to return error directly if you request an unavailable functional unit.
Download at monkeybreadsoftware.de/filemaker/files/Prerelease/ or ask for being added to the dropbox shared folder.

Windows on ARM in 64-bit

With Visual Studio 15.9, Microsoft now supports ARM64 processor architecture as target for Windows software. So Windows now runs currently on 4 architectures: x86 for Intel 32-bit, x64 for Intel 64-bit, ARM in 32-bit and 64-bit. In history Windows NT also run on IA-64, MIPS, Alpha, PowerPC, PC-98 before, so they keep it quite cross platform viable.

Now the big question is whether Xojo Inc. and/or FileMaker Inc. will support the new architecture anytime soon. But if they would, we would of course try to build the plugins for the new platform.

See blog entry from Microsoft.

FMnext Experience II in Meilen, Schweiz und MBS Plugin Schulung

Am kommenden Dienstag, den 20. November 2018 veranstaltet die Medio-Ingeno AG einen FileMaker Event in Meilen am Zürichsee:

FMnext Experience II

Zahlreiche FileMaker Vorträge am Abend, Empfang und einem unterhaltsames Special am Ende.
Bitte bald anmelden, denn der Platz is begrenzt. Das Programm startet gegen 17:30 Uhr und der Eintritt kostet 50 CHF.

MBS Plugin Schulung

Wir bieten eine MBS Plugin Schulung für den gleichen Tag um ca. 9 Uhr im gleichen Hotel an. Für unsere Kunden haben wir ein Programm zusammengestellt speziell für die Anforderungen in der Schweiz:
  • MBS Plugin Überblick für 2018.
  • QRCodes für Schweizer Einzahlungsscheine nach ISO 20022.
  • FileMaker Migration Tool
  • MBS Shell Funktionen um das Tool zu automatisieren
  • SmartCards auslesen am Beispiel der Schweizer Krankenversichertenkarte
  • Audit Funktionen
  • Word-Serienbriefe aus FileMaker
  • Fragen & Antworten
Weitere Themenwünsche bitte baldmöglichst an mich schicken.
Kostenbeitrag: 150 CHF inkl. Mittagessen.

Anmeldung FMnext Experience II und Anmeldung für MBS Schulung

Noch wenige Restplätze vorhanden, also bitte schnell noch anmelden, falls es terminlich passt.

FileMaker Roadmap for 2019

Did you see the webinars for the roadmap and the updated website?
You can check it here: FileMaker Roadmap and the Video

To give a few comments for the questions I got immediately from a few FileMaker developers:

FileMaker Next

MBS Plugin 9.x will be available at launch next year when the next FileMaker version ships. We will use the new plugin SDK and make a few changes to get the plugin working well in the new version. To ensure the plugin works well, we'll test the beta version of FileMaker. If you see an issue, please report it soon to us.

As FileMaker will probably ship again in mid May, we may have our March release ready for the new version and fix any outstanding problems with our May release a week after FileMaker's release.

Code Signing

MBS Plugin is code signed for a few years now for MacOS and Windows. Occasionally there may have been a beta version without signature, but the release versions should all be signed.

File functions

The new data file functions are certainly welcome in the community, especially as you will be able to use them in FileMaker Go. Still the plugin provides an alternative for reading and writing files with more options and outside a script as the plugin can be used in all calculations.

JavaScript in Webviewer

As you know we have a function WebView.RunJavaScript function in our plugin. We are curious to learn what FileMaker plans for future versions to do similar things in FileMaker directly. This is certainly welcome for Web Direct, where our plugin can't provide that feature. For FileMaker Pro desktop on Windows we wonder if they switch away from Internet Explorer as engine (Webbrowser ActiveX control) and use something like embedded Chromium instead. Another curious thing is how FileMaker Inc. will provide an unified interface for both JavaScript to FileMaker and FileMaker to JavaScript. What we have, can be read in this blog article: FileMaker and WebViewer communication

FileMaker Cloud 2

The new version 2 of FileMaker Cloud may ship with or without plugin support. Not sure if a new plugin SDK will be ready for the release or whether existing plugins can be used there. Once we get a newer SDK, we'll look into how to make plugins there and see what will be possible.

While vs. FM.Loop function

It looks like the product idea for a loop function was welcome both to FMI and to us. We implemented in March 2018 our FM.Loop function. It allows you to have a loop in a calculation counting a variable up or down. The FileMaker version can do a bit more as you can include several commands directly in the function call with square brackets like in a Let function. The plugin interface doesn't allow us to do the same. But we do have a second expression to evaluate which lets you define an exit conditions independent of the counting up or down the variable. While MBS Plugin function returns a list of all the results from the various expression, in FileMaker you collect the values yourself and return them in the result expression. If needed

FileMaker Marketplace

We look forward to add our plugin to the marketplace and encourage our users to add solutions there, which use our plugin. Some clients have integrations ready using MBS Plugin, e.g. for receiving emails in FileMaker and showing them like a mail application.

Thanks FileMaker Inc. for their ongoing investments into FileMaker and the impressive features coming to the platform. Having modules as XML files ready to integrate in solutions with a market place to get them, will bring the platform to a new level. Imaging a world, where a consultant can build a solution for a client by combining several modules from Marketplace and have something ready to use within minutes.

MBS FileMaker Plugin, version 8.5pr7

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

Version number reported it 8.5.04, sorry.

Welcome Stefanie

Monkeybread Software proudly presents our new junior software developer Stefanie Juchmes. Last month Stefanie finished here Bachelor of Science in Informatics. And she accepted our employment contract, so 1st January she will start at Monkeybread Software.

We are looking forward to a lot of new content from here including tutorials, examples, videos and presentations related to our plugins. And as she knows some C++, we may even involve here in some plugin programming. But first, I've given her my library of books about FileMaker and Xojo to read.

You may have seen Stefanie at a few conferences this year and we may bring here to a few more conferences in 2019 so she can meet our clients.

MBS Plugin @ FileMaker Conference in UK

ThumbnailWe got a new video for you:

MBS Plugin @ FileMaker Conference 2018
Presentation from FileMaker DevCon UK.

An overview of what changed in our MBS FileMaker Plugin since the last conferences. Optionally watch the DevCon 2018 video first.

File dialogs with sheets for FileMaker

A client asked for using file dialogs as sheets, a Mac feature to show a dialog attached to a parent window. Once the user made a choice, we trigger a script of your choice and allow you to check the list of files selected.



Before showing the sheet, please call FileDialog.SetSheetScriptTrigger to set script trigger and use FileDialog.SetUseSheet function to enable sheets. Be aware that the script must be different. The first script shows the sheet and exits. Later another script runs and processes results as the process is asynchronously.

New plugin with updated example database is comming soon.

Correct Image Orientation in FileMaker

Sometimes you may see pictures in FileMaker with wrong orientation. But in your image editing application, the orientation is correct. So you may wonder what is going on?
 
Image files like JPEG, PNG and TIFF have all metadata which describes the orienation of the image in 8 different ways. So the pixels in the picture come in the orientation they are read from the sensor chip. But you may hold your camera rotated, so the pixels flow into the file and the camera marks the image to be taken rotated and writes that in metadata. 

Sadly not all applications handle this and show the image in the right orienation. For all 8 ways, we change the orientation to always be in mode 1 and save the image with the new orientation, so all applications will show the image correctly: 
 

# load image

Set Variable [ $Image ; Value: MBS( "GMImage.NewFromContainer"; Correct Image Orientation::Input ) ] 

If [ MBS("IsError") = 0 ] 

Set Variable [ $orientation ; Value: MBS( "GMImage.GetOrientation"; $Image ) ] 

If [ $orientation > 0 ] 

If [ $orientation = 1 ] 

# TopLeftOrientation = 1, (Line direction: Left to right, Frame Direction: Top to bottom) 

# nothing to do

Else If [ $orientation = 2 ] 

# TopRightOrientation = 2, (Line direction: Right to left, Frame Direction: Top to bottom) 

# Flip horizontally

Set Variable [ $r ; Value: MBS( "GMImage.Flop"; $Image ) ] 

Else If [ $orientation = 3 ] 

# BottomRightOrientation = 3, (Line direction: Right to left, Frame Direction: Bottom to top) 

# Rotate 180°

Set Variable [ $r ; Value: MBS( "GMImage.Rotate"; $Image; 180 ) ] 

Else If [ $orientation = 4 ] 

# BottomLeftOrientation = 4, (Line direction: Left to right, Frame Direction: Bottom to top) 

# Flip vertically

Set Variable [ $r ; Value: MBS( "GMImage.Flip"; $Image ) ] 

Else If [ $orientation = 5 ] 

# LeftTopOrientation = 5, (Line direction: Top to bottom, Frame Direction: Left to right) 

# Rotate 90° and flip horizontally

Set Variable [ $r ; Value: MBS( "GMImage.Rotate"; $Image; 90 ) ] 

Set Variable [ $r ; Value: MBS( "GMImage.Flop"; $Image ) ] 

Else If [ $orientation = 6 ] 

# RightTopOrientation = 6, (Line direction: Top to bottom, Frame Direction: Right to left) 

# Rotate 90° 

Set Variable [ $r ; Value: MBS( "GMImage.Rotate"; $Image; 90 ) ] 

Else If [ $orientation = 7 ] 

# RightBottomOrientation = 7, (Line direction: Bottom to top, Frame Direction: Right to left) 

# Rotate -90° and flip horizontally

Set Variable [ $r ; Value: MBS( "GMImage.Rotate"; $Image; -90 ) ] 

Set Variable [ $r ; Value: MBS( "GMImage.Flop"; $Image ) ] 

Else If [ $orientation = 8 ] 

# LeftBottomOrientation = 8 (Line direction: Bottom to top, Frame Direction: Left to right) 

# Rotate -90° 

Set Variable [ $r ; Value: MBS( "GMImage.Rotate"; $Image; -90 ) ] 

End If

Set Variable [ $r ; Value: MBS( "GMImage.SetOrientation"; $Image; 1 ) ] 

Set Variable [ $r ; Value: MBS( "GMImage.SetEXIFOrientation"; $Image; 1 ) ] 

End If

#  Write back to new field

Set Field [ Correct Image Orientation::Output ; MBS( "GMImage.WriteToJPEGContainer"; $Image; GetAsText(Correct Image Orientation::Input)) ] 

# free memory

Set Variable [ $r ; Value: MBS( "GMImage.Destroy"; $Image) ] 

End If

 
The example database will be included in future plugin releases.

PS: Since version 9.0 we got the GMImage.AutoOrient function, which does this automatically for you.


MBS FileMaker Plugin, version 8.5pr6

New in this prerelease of version 8.5 of the MBS FileMaker Plugin:
  • Fixed edge case for filename in CURL.GetResultAsContainer function.
  • Improve DynaPDF.Initialize to better reject invalid license keys.
  • Updated to Xcode 10.1.
  • Added a lot of GameKit functions to work with Game Center on Mac and iOS.
  • Changed SendMail functions to no longer turn TO to CC if you have several TOs.
Download at monkeybreadsoftware.de/filemaker/files/Prerelease/ or ask for being added to the dropbox shared folder.

Version number reported it 8.5.04, sorry.

Use root certificates included with FileMaker

If you like to have SSL with security, you need to verify the certificate. FileMaker comes with a root certificate file, so we can refer CURL to that file and enjoy the checks against the given list of root certificates:

 

Set Variable [ $curl ; Value: MBS("CURL.New") ] 

If [ MBS("IsIOS") ] 

# look for path to certificate file

Set Variable [ $path ; Value: Substitute(MBS("Folders.UserDocuments"); "/Documents"; "/Library/Application Support/FileMaker/iOS/1.0/root.pem") ] 

If [ MBS("Files.FileExists"; $path) ] 

# use in CURL

Set Variable [ $r ; Value: MBS( "CURL.SetOptionCAINFO"; $curl; $path) ] 

Else

Show Custom Dialog [ "File not found." ; $path ] 

End If

Else If [ MBS("IsMacOSX") ] 

# look for path to certificate file

Set Variable [ $path ; Value: Substitute(MBS("Folders.UserDocuments"); "/Documents"; "/Library/Application Support/FileMaker/Shared/17.0/root.pem") ] 

If [ MBS("Files.FileExists"; $path) ] 

# use in CURL

Set Variable [ $r ; Value: MBS( "CURL.SetOptionCAINFO"; $curl; $path) ] 

Else

Show Custom Dialog [ "File not found." ; $path ] 

End If

Else If [ MBS("IsWindows") ] 

# look for path to certificate file

Set Variable [ $path ; Value: Substitute(MBS("Folders.UserDocuments"); "\Documents"; "\AppData\Local\FileMaker\FileMaker Pro Advanced\17.0\root.pem") ] 

If [ MBS("Files.FileExists"; $path) ] 

# use in CURL

Set Variable [ $r ; Value: MBS( "CURL.SetOptionCAINFO"; $curl; $path) ] 

Else

Show Custom Dialog [ "File not found." ; $path ] 

End If

Else If [ MBS("IsLinux") ] 

# look for path to certificate file

Set Variable [ $path ; Value: "/FileMakerData/Extensions/OpenSSL/root.pem" ] 

# use in CURL

Set Variable [ $r ; Value: MBS( "CURL.SetOptionCAINFO"; $curl; $path) ] 

End If

# Start new session

Set Variable [ $URL ; Value: "https://www.filemaker.com" ] 

# Set URL to load (HTTP, HTTPS, FTP, FTPS, SFTP, etc.)

Set Variable [ $result ; Value: MBS("CURL.SetOptionURL"; $curl; $URL) ] 

// Set Variable [ $result ; Value: MBS( "CURL.SetOptionCertInfo"; $curl; 1 ) ] 

# Do transfer now:

Set Field [ PlaceHolder::result ; MBS("CURL.Perform"; $curl) ] 

# Check result

Set Field [ PlaceHolder::Container ; MBS("CURL.GetResultAsText"; $curl; "UTF8") ] 

Set Field [ PlaceHolder::result ; MBS("CURL.GetDebugAsText"; $curl) ] 

// Set Field [ PlaceHolder::result ; MBS("CURL.GetCertinfo"; $curl; "UTF8") ] 

# Cleanup

Set Variable [ $result ; Value: MBS("CURL.Cleanup"; $curl) ] 

This script works fine with MacOS, Windows, Linux and iOS. If needed you can request certificate information via CURL.SetOptionCertInfo and see all the details from certificates in the text given by CURL.GetCertinfo function.


Root certificates coming with FileMaker Go

We got a list of the root certificates coming with FileMaker Go:
  • AddTrust External CA Root
  • COMODO Certification Authority
  • COMODO RSA Certification Authority
  • Entrust Root Certification Authority
  • Entrust Root Certification Authority - EC1
  • Entrust Root Certification Authority - G2
  • Entrust Root Certification Authority - G3
  • Entrust.net Certification Authority (2048)
  • FileMaker Root Authority
  • GeoTrust Global CA
  • GeoTrust Global CA 2
  • GeoTrust Primary Certification Authority
  • GeoTrust Primary Certification Authority - G2
  • GeoTrust Primary Certification Authority - G3
  • GeoTrust Primary Certification Authority - G4
  • GeoTrust Universal CA
  • GeoTrust Universal CA 2
  • Go Daddy Root Certificate Authority - G2
  • Go Daddy Root Certificate Authority - G3
  • Go Daddy Root Certificate Authority - G4
  • Symantec Class 1 Public Primary Certification Authority - G6
  • Symantec Class 2 Public Primary Certification Authority - G6
  • Symantec Class 3 Public Primary Certification Authority - G7
  • thawte Primary Root CA
  • thawte Primary Root CA - G2
  • thawte Primary Root CA - G3
  • thawte Primary Root CA - G4
  • Thawte Timestamping CA
  • The Go Daddy Group, Inc.
  • VeriSign Class 1 Public Primary Certification Authority - G3
  • VeriSign Class 2 Public Primary Certification Authority - G3
  • VeriSign Class 3 Public Primary Certification Authority - G3
  • VeriSign Class 3 Public Primary Certification Authority - G4
  • VeriSign Class 3 Public Primary Certification Authority - G5
  • VeriSign Class 4 Public Primary Certification Authority - G3
  • VeriSign Universal Root Certification Authority
  • VeriSign, Inc.
As far as we know you can only connect to servers which use a certificate based on one those root certificates. Depending on the version of FileMaker Go/Pro, the list for you may be different.

MBS FileMaker Plugin, version 8.5pr5

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

Version number reported it 8.5.04, sorry.

Notarize apps for MacOS

While FileMaker runtimes are deprecated, they are still a great tool to give away a test copy of your fabulous solution. Apple now recommends you to notarize your app. This is a step further than normal code signing as the app is actually uploaded to a test system which scans it for malware. Looks like for next year this may be required for apps to launch without a warning dialog.

The following steps work for us with the test.app on Desktop. File paths, names, bundle and Apple IDs will be different for you:
  1. Install Xcode and run it once to get the command line tools installed.
  2. Build a runtime app in FileMaker Pro Advanced.
  3. Adapt our SignScript FM 17 (included with MBS Plugin download).
    Please change name of certificate, the path and the name of the app. For codesign lines, please add --options runtime as command line parameters after the -f command line parameter. Run the script and watch for the last lines saying accepted and Developer ID.
  4. Next build an disk image. With a GUI app or simply via terminal with right path:
    /usr/bin/hdiutil create -imagekey zlib-level=9 -srcfolder /Users/cs/Desktop/Test -fs HFS+ -volname Test /Users/cs/Desktop/Test.dmg
  5. Sign the disk image. e.g. via Terminal:
    codesign -f -vvvv -s "Developer ID Application: Christian Schmitz Software GmbH" /Users/cs/Desktop/Test.dmg
  6. Notarize the app. Run xcrun in terminal. The bundle ID is found in the info.plist file of the runtime app inside the bundle. Please pass your own Apple ID here for your Apple developer account:
    xcrun altool --notarize-app -f /Users/cs/Desktop/Test.dmg --primary-bundle-id com.filemaker.client.runtime12.test -u Developer@monkeybreadsoftware.de -p @keychain:"Application Loader: Developer@monkeybreadsoftware.de"
    This may take a while and return a RequestUUID.
  7. Wait for an email from Apple or periodically check the status of the notarization until it has completed. Please put in again your Apple ID and the request UUID from above.
    xcrun altool --notarization-info 193b7ad2-36e1-45d5-880c-c297250f77b2 -u Developer@monkeybreadsoftware.de -p @keychain:"Application Loader: Developer@monkeybreadsoftware.de"
    This may take a while till this tool returns success and you can run it several times. Otherwise you get an email when the app is done. Once done you get Package Approved in the call above. If you don't have password in keychain, you can alternatively create an application specific password and put it after the -p parameter as value.
  8. Add the staple ticket to the dmg:
    xcrun stapler staple -v /Users/cs/Desktop/Test.dmg
    This will add the notarization to the disk image.
  9. Now you can test the final app in the disk image:
    spctl -a -v /Applications/test.app
    This shows on 10.13.6 only "source=Developer ID", but on 10.14 shows "source=Notarized Developer ID", so it worked!
If you followed all steps, got the paths right and the Apple ID, bundle ID and file names, your app should show the notarized state and run without a warning dialog on MacOS 10.14 Mojave.

MBS is available for paid support to help you getting your app notarized if needed.

Archives

Mar 2024
Feb 2024
Jan 2024
Dec 2023
Nov 2023
Oct 2023
Sep 2023
Aug 2023
Jul 2023
Jun 2023
May 2023
Apr 2023
Mar 2023
Feb 2023
Jan 2023
Dec 2022
Nov 2022
Oct 2022
Sep 2022
Aug 2022
Jul 2022
Jun 2022
May 2022
Apr 2022
Mar 2022
Feb 2022
Jan 2022
Dec 2021
Nov 2021
Oct 2021
Sep 2021
Aug 2021
Jul 2021
Jun 2021
May 2021
Apr 2021
Mar 2021
Feb 2021
Jan 2021
Dec 2020
Nov 2020
Oct 2020
Sep 2020
Aug 2020
Jul 2020
Jun 2020
May 2020
Apr 2020
Mar 2020
Feb 2020
Jan 2020
Dec 2019
Nov 2019
Oct 2019
Sep 2019
Aug 2019
Jul 2019
Jun 2019
May 2019
Apr 2019
Mar 2019
Feb 2019
Jan 2019
Dec 2018
Nov 2018
Oct 2018
Sep 2018
Aug 2018
Jul 2018
Jun 2018
May 2018
Apr 2018
Mar 2018
Feb 2018
Jan 2018
Dec 2017
Nov 2017
Oct 2017
Sep 2017
Aug 2017
Jul 2017
Jun 2017
May 2017
Apr 2017
Mar 2017
Feb 2017
Jan 2017
Dec 2016
Nov 2016
Oct 2016
Sep 2016
Aug 2016
Jul 2016
Jun 2016
May 2016
Apr 2016
Mar 2016
Feb 2016
Jan 2016
Dec 2015
Nov 2015
Oct 2015
Sep 2015
Aug 2015
Jul 2015
Jun 2015
May 2015
Apr 2015
Mar 2015
Feb 2015
Jan 2015
Dec 2014
Nov 2014
Oct 2014
Sep 2014
Aug 2014
Jul 2014
Jun 2014
May 2014
Apr 2014
Mar 2014
Feb 2014
Jan 2014
Dec 2013
Nov 2013
Oct 2013
Sep 2013
Aug 2013
Jul 2013
Jun 2013
May 2013
Apr 2013
Mar 2013
Feb 2013
Jan 2013
Dec 2012
Nov 2012
Oct 2012
Sep 2012
Aug 2012
Jul 2012
Jun 2012
May 2012
Apr 2012
Mar 2012
Feb 2012
Jan 2012
Dec 2011
Nov 2011
Oct 2011
Sep 2011
Aug 2011
Jul 2011
Jun 2011
May 2011
Apr 2011
Mar 2011
Feb 2011
Jan 2011
Dec 2010
Nov 2010
Oct 2010
Sep 2010
Aug 2010
Jul 2010
Jun 2010
May 2010
Apr 2010
Mar 2010
Feb 2010
Jan 2010
Dec 2009
Nov 2009
Oct 2009
Sep 2009
Aug 2009
Jul 2009
Apr 2009
Mar 2009
Feb 2009
Dec 2008
Nov 2008
Oct 2008
Aug 2008
May 2008
Apr 2008
Mar 2008
Feb 2008