Our Blog, Filemaker only, Xojo only, Archive (older)

Follow us on Twitter, Xing, LinkedIn or Facebook.

FileMaker Conferences


We are looking forward to two weeks with conferences. As you may know there are seven FileMaker conferences this year in Europe.

I visit the German conference in Malbun (Liechtenstein), the Scandinavian conference in Gothenburg (Sweden) and the English conference in London (United Kingdom) this year. And for the German conference, Stefanie will join me to help on the booth and with our training day on Wednesday.

See you there!

Greetings to the people in Gent, which start the FM Summit today.

URLs without UserName and Password please


With last plugin release we enabled the option for CURL to disallow you passing user name and password. As URLs are sent to proxy and may be logged at the web servers, we prefer to not include credentials in the URL. And if you use the email address for user name, the name in the URL never worked.

So for the future, please separate them and put the credentials in the relevant options:

In FileMaker:

Set Variable [ $curl ; Value: MBS("CURL.New") ]
Set Variable [ $r ; Value: MBS("CURL.SetOptionURL"; $curl; $URL) ]
Set Variable [ $r ; Value: MBS("CURL.SetOptionUsername"; $curl; "xxx") ]
Set Variable [ $r ; Value: MBS("CURL.SetOptionPassword"; $curl; "yyy") ]

In Xojo:

dim curl as new CURLSMBS
curl.OptionURL = URL
curl.OptionUserName = "xxx"
curl.OptionPassword = "yyy"

If you still use URLs with username and password, please move to passing them with the username and password properties.

If you really can't change your solution, you can still use CURL.SetOptionDisallowUserNameInURL (FileMaker) and OptionDisallowUserNameInURL property in CURLSMBS/CURLNMBS and CURLMBS classes (Xojo) to enable username and password in URLs.

MBS FileMaker Plugin, version 8.5pr2


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.

FileMaker Promotion: Buy one, give one


FileMaker currently runs a promotion till 20th December 2018 where you can buy a FileMaker license and receive a second one to give to a friend.

in German here at filemaker-magazin.de website.

In English here in the FileMaker Store: store.filemaker.com/product/PMO

Please check conditions for details.

CURL Up 2019


The CURL conference for 2019 is announced:

curl up 2019 will take place in Prague, the Czech Republic the last weekend of March.

When: March 29-31, 2019
Where: Prague, Czech Republic
Venue: Charles University

For details, please check the website.

Maybe we can arrange some developer meeting with our Xojo and FileMaker clients, too?

Email Script for FileMaker


Today a client sent me his email script using our plugin. It is based on one of our examples, but got quite a few enhancements.

First like with every professional developer, you see a few comments about what it does and where data is coming from. Also changes are logged at the end. Part of the standard setup of the methods is to disallow user abort and activate error capture to avoid error dialogs.

All the configuration details are not part of the script, but come from a configuration table. For tracing the soluton, a trace script is called to log what happens. Results from sending emails are stored in the table, so you can check for each email whether it worked and what the error message is. Please read the script below:

(more)

Adding Drag and Drop receiver to a layout


One of our clients asked how to add a Drag & Drop area on the layout to receive file drops.

 

Well, the obvious answer is to copy everything from DragTest Windows.fmp12 to their solution and enjoy it for both Mac & Windows. But it's not that simple as you need to know where to look. So here a step by step solution.

 

Before you start, please make sure you have a recent plugin version. The Drag & Drop features for Windows were introduced in MBS FileMaker Plugin 8.1, but we got bug fixes later, so best is to use current 8.4 release.

 

Add placeholder rectangle

 

First in our DragTest Windows.fmp12 file is a picture used for the drop area. The picture is there twice. Once assigned to the rectangle in the layout and second in a global field. So add the DropLogo field to the layout and you can export the image named "Drop-Files-Here-extra.jpg".

 

In your solution, you may find a layout where you like people to drop stuff. This should be a layout where you would enable Drop in one trigger and than disable it when the user leaves the layout.

 

To the layout, we add a rectangle area in the header for the drop. Our image is 500 x 224, so our rectangle should be 250 x 112 points big to use 2x image for sharp picture on high resolution screens. In the inspector for fill option, please select picture and select the image file. For the aspect ratio, please choose "Scale to Fit" below. In the first inspector tab, please give the rectangle a name, e.g. "drop".

 

Please add a global container image named DropLogo. Put it on the layout and import the image here, too. After the import, you can remove the global field from the layout. We need this image later in the script. It's a good idea to actually have two images, one of drop off and one for drop on. This way you can see whether the plugin is working.

 

(more)

FileMaker DevCon Videos coming soon


As you may have seen the videos from FileMaker DevCon 2018 in Grapevine, Texas are planned to arrive soon.
The DevCon 2018 sessions by track website shows 9th October 2018 as release dates for the videos.


MBS FileMaker Plugin, version 8.5pr1


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.

Sign up for European FileMaker Conferences 2018


Please join 500+ FileMaker developers at the European developer conferences this year:
Conference Name Language Location Date Registration
FM Summit Dutch Gent, Belgium 15 - 17 October Website
FileMaker Italian DevCon Italian Bologna, Italy 17 - 19 October Website
FileMaker Konferenz German Malbun, Liechtenstein 17 - 20 October Website
FileMaker Devcon Scandinavia English Gothenburg, Sweden 22 - 23 October Website
FileMaker UK Developer Event English London, United Kingdom 23 - 24 October Website
FM Conférence French La Rochelle, France 24 - 26 October Website
FileMaker Spanish DevCon Spanish Madrid, Spain 26 - 27 October

Website

Meet MBS at the conferences in Malbun, London and Gothenburg.

Moving to Xcode 10


We are trying to move to Xcode 10.

This may involve dropping 32-bit for some things as Xcode 10 doesn't support 32-bit any more. And it may be we could drop 32-bit as target and just make new plugins to be 64-bit only.

Next we may make MacOS 10.9 the minimum, which would drop a few older Xojo and FileMaker versions. What minimum would you like to have?

Of course just going with 10.10 or 10.11 as minimum could simplify coding for us.

MBS FileMaker Plugin 8.4 - More than 5400 Functions In One Plugin


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

For the MacOS 10.14 Mojave release, we got a few changes in our plugin. We added a new function SystemInfo.isMojave, which allows you to easily detect the new operation system. For developers we got the script search, the goto box and the search box improved to work better on MacOS 10.14.

Our new Bonjour functions allows you to search for services on the local network. This is the same technology used in FileMaker to find FileMaker servers. You can look for services and register a new service to find instances of your application in the network.

The new Keychain functions allow you to work on the passwords stored in the Keychain database on Mac and iOS. Your solution can add passwords for files, so the user is logged in automatically. If needed, you can change the passwords or delete them.

For MacOS we now have two function sets to work with contacts. First the older Addressbook API for MacOS and iOS. The new Contacts API is for both MacOS (64-bit only) and iOS. Those APIs have differences, so we want to keep both and you may need to use both sometimes. Older API can give you modification date for records while newer API can handle multiple accounts better.

As you may know we have a lot of XML functions. We added LibXLST and a new function XML.ApplyStylesheet to apply a XLST transformation to an XML document. Our XML.ExtractText function got improved to handle CData better.

For iOS we improved the plugin and now only include 64-bit version. Plugins for Device and Simulator and now separated and we ship them as frameworks. We got a new sign script for you to sign the plugin for use on your own devices for local testing. The QLPreviewPanel functions allow you to preview files on iOS including 3D models and augmented reality.

The AVRecorder functions for MacOS and iOS can now detect QR-Codes in the video image and trigger a script to process results. And you can check status and request permissions for audio and video devices. Our AVRecorder can now also record screen via the new AVRecorder.SetScreenInput function.

Check the new functions to create and resolve alias files (Mac) and shortcut files (Windows). The Font.CalculateTextFits and Font.CalculateTextHeight functions can calculate how much space some text needs. The Amazon S3 upload example is updated to do multi part uploads for huge files. SQL functions can now better query options set on connections, command or field.

Finally we updated CURL to version 7.61.1, DynaPDF to version 4.0.23.61, LibXL to version 3.8.3, LibXML2 to version 2.9.8, SQLAPI to version 4.3.3, SQLite to version 3.25.0 and updated Xcode to version 9.4.

See release notes for a complete list of changes.

Neues MBS FileMaker Plugin 8.4 - Über 5400 Funktionen in einem Plugin


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

Für die neue MacOS 10.14 Mojave Version haben wir ein paar Änderungen im Plugin. Die neue SystemInfo.isMojave Funktion teilt ihnen mit, ob dieses Betriebssystem gerade ihre Lösung ausführt. Für Entwickler haben wir die Suche in den Skripten und die Eingabefelder in der Titelleiste verbessert.

Unsere neuen Bonjour Funktionen erlauben Ihnen nach Diensten im lokalen Netzwerk zu finden. Das ist die gleiche Technologie, die auch FileMaker verwendet um seine FileMaker Server zu finden. Sie können nach Diensten suchen und einen eigenen Dienst registrieren, so dass Sie ihre Anwendungen im Netzwerk finden können.

Die neuen Keychain Funktionen erlauben ihnen Passwörter in den Schlüsselbund für Mac und iOS einzutragen, so dass der Benutzer automatisch eingeloggt wird. Falls nötig können Sie auch Passwörter löschen oder ändern.

Für MacOS haben wir jetzt zwei Schnittstellen für Kontakte. Einerseits die älteren Addressbuch API für MacOS und iOS und andererseits die neuen Contacts Funktionen für MacOS (64-bit) und iOS. Beide Schnittstellen haben Vor- und Nachteile, so dass wir teilweise beide verwenden. Die alte Schnittstelle kann ihnen zum Beispiel das Änderungsdatum für einen Kontakt melden, aber die neue Schnittstelle arbeitet besser mit mehreren Accounts.

Wie Sie sicher wissen, haben wir einige XML Funktionen. Mit dieser Version verwenden wir jetzt LibXLST für die neue XML.ApplyStylesheet Funktion. Damit können Sie jetzt XML Dateien transformieren. Unsere XML.ExtractText Funktion arbeitet besser mit CData Bereichen.

Für iOS haben wir das Plugin verbessert und liefern nur noch eine 64-bit Version aus. Die Plugins für Simulator und iOS Geräte sind jetzt separat als frameworks dabei. Das neue Signierskript erlaubt ihnen die Plugins zu signieren, damit Sie die Xcode auf Ihrem iOS Gerät testen können. Die neuen QLPreviewPanel Funktionen erlaubt ihnen die Vorschau für Dateien auf iOS anzuzeigen, inklusive 3D Modellen.

Die AVRecorder Funktionen bei MacOS und iOS können nun nun QR-Codes in Video Bildern direkt erkennen und ein Skript triggern. Sie können für Audio und Video Geräte die Erlaubnis abfragen bzw. den Status überprüfen. Mit der AVRecorder.SetScreenInput Funktionen können Sie auch Videos vom Bildschirm aufnehmen.

Probieren Sie mal die neuen Funktionen um Alias Dateien (Mac) bzw. Link Dateien (Windows) anzulegen oder abzufragen. Mit Font.CalculateTextFits und Font.CalculateTextHeight berechnen Sie wie groß ein Text wird. Das Beispiel für den Amazon S3 Dateiupload kann jetzt auch große Dateien in mehreren Häppchen hochladen. Die SQL Funktionen können jetzt auch die Optionen abfragen, die Sie für Verbindung, Befehl oder Felder definiert haben.

Außerdem haben wir CURL auf Version 7.61.1, DynaPDF auf Version 4.0.23.61, LibXL auf Version 3.8.3, LibXML2 auf Version 2.9.8, SQLAPI auf Version 4.3.3, SQLite auf Version 3.25.0 und Xcode updated 9.4 aktualisiert.

Alle Änderungen in den Release Notes.

FileMaker and macOS 10.14 Mojave compatibility


We just got notice on the compatibility from FileMaker:

FileMaker Pro 17 Advanced is compatible with macOS Mojave 10.14 with known issues. A compatibility update is planned for the November/December 2018 timeframe.

FileMaker Server 17 is currently not compatible with macOS Mojave 10.14. A compatibility update is planned for November 2018.

FileMaker Go 17.0.3 is compatible with iOS 12.

More details in the knowledge base article.

For MBS FileMaker Plugin, we release 8.4 tomorrow with the latest fixes for macOS 10.14.

Bitsundso Download


For everyone watching regularly the Bitsundso Plus stream, we got a nice utility app made in my spare time to download the current episode as video:



You can download current version here: BitsundsoDownload.dmg

Please try. You need to specify the ID and password for the login. Than you specify where the ffmpeg command line tool is and where to store the video file. By default it will be put on desktop. Our tool just performs a login on Bitsundso website, gets the video stream URL, picks the 720p stream and downloads it by running ffmpeg. It shows you progress and opens video file on the end. Settings are saved for next run, so you can just run it every week, when you got the push for the new episode.

Have fun!

Installation of MBS Plugin on FileMaker Server for Windows


Recently a client asked for detailed instruction on how to install the plugin, so here you go:

Installation

As noted in our Installation manual, you just copy the right plugin file, the one for the correct platform (always 64-bit for server), to the right folder. For Windows, this is the folder for ServerScripting as used for Scheduled Scripts and Perform Script on Server:

C:\Program Files\FileMaker\FileMaker Server\Database Server\Extensions

And for Web Direct, this is the following folder:

C:\Program Files\FileMaker\FileMaker Server\Web Publishing\publishing-engine\cwpc\Plugins

Please note that this folder is named Plugins while above the folder is named Extensions. cwpc folder also has an Extensions folder, but plugins there are not loaded.

Activation

If you go to Admin Console, you can enable plugins for Server Scripting (Scheduled Scripts and Perform Script on Server) and/or Web Direct. Once plugin is enabled for Server Scripting, you can see MBS Plugin below and enable it. Once enabled, the plugin should load.



For Web Direct the plugins are not listed. (more)

Updated contextual menu for MBS FileMaker Plugin


Have you seen our improved menu in MBS FileMaker Plugin 8.4pr10?

Coming for the 8.4 release we have a new Copy Value command there:


You click on a cell like the database fields table with right mouse button and the menu allows you to copy the value in that cell below the mouse cursor. Of course you can still copy the whole content, the selected rows or just the value in the cell you clicked on.

MBS FileMaker Plugin, version 8.4pr10


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

PS: Sorry, but version number is 8.4.09 for pr10 as we forgot to change number before compiling.

Storing files for download on FileMaker Server with download URLs


As you may know the FileMaker Server comes with a copy of apache web server software. You can use the apache web server to host and deliver files for download. So if you copy a file to /Library/FileMaker Server/HTTPServer/htdocs/ folder on your server, you can than point to that file with the URL of your server with folder and file name attached.

 

We can call the following script named "Create URL". It calls a script on the server to export the picture of our current record and return the URL. As server doesn't retain the context, we need to pass the record ID fo the current record as parameter:

 

Perform Script on Server [ Specified: From list ; “Create URL on Server” ; Parameter: Get(RecordID) ; Wait for completion: On ]

Set Variable [ $URL ; Value: Get(ScriptResult) ] 

Set Field [ Anlagen::Name ; $URL ] 

 

The script Create URL on Server looks like this:

 

# go to record on Server

Set Variable [ $RecordID ; Value: Get(ScriptParameter) ] 

Go to Layout [ “Images” (Anlagen) ; Animation: None ]

If [ Get(LastError) ≠ 0 ] 

Exit Script [ Text Result: "" // failed ] 

End If

Go to Record/Request/Page [ With dialog: Off ; $RecordID ]

If [ Get(LastError) ≠ 0 ] 

Exit Script [ Text Result: "" // failed ] 

End If

# Global settings

Set Variable [ $path ; Value: "/Library/FileMaker Server/HTTPServer/htdocs/" ] 

Set Variable [ $URL ; Value: "http://127.0.0.1/" ] 

Set Variable [ $folderName ; Value: Get(UUID) ] 

# Item to export

Set Variable [ $Container ; Value: Anlagen::Bild ] 

Set Variable [ $FileName ; Value: MBS( "Path.LastPathComponent"; GetAsText($Container)) ] 

# Create folder

Set Variable [ $FolderPath ; Value: MBS( "Path.AddPathComponent"; $path; $FolderName ) ] 

Set Variable [ $r ; Value: MBS( "Files.CreateDirectory"; $FolderPath ) ] 

If [ MBS("IsError") ] 

Exit Script [ Text Result: "" // failed ] 

End If

# Export file

Set Variable [ $FilePath ; Value: MBS( "Path.AddPathComponent"; $FolderPath; $FileName ) ] 

Set Variable [ $r ; Value: MBS( "Container.WriteFile"; $Container; $FilePath ) ] 

If [ MBS("IsError") ] 

Exit Script [ Text Result: "" // failed ] 

End If

# Return URL

Set Variable [ $FileNameURL ; Value: MBS( "Text.EncodeURLComponent"; $FileName; "UTF8" ) ] 

Set Variable [ $result ; Value: $URL & $FolderName & "/" & $FileNameURL ] 

Exit Script [ Text Result: $result ] 

 

As you see, we create a new folder with an UUID as name, so every user has an unique folder. We write the file there and build the URL with the encoded file name. Now the client script has the URL and you can give it the user, e.g. in an email to download later. 

 

It may be good to put all those downloads in an extra folder so the folder is not filled too much. Also we could store the folder names in a table with timestamp, so we can remove them after e.g. 30 days.


Missing LSSupportsOpeningDocumentsInPlace for iOS Apps


If you recently submitted a FileMaker iOS app to the App Store, you may have got the following message from Apple:

Invalid Document Configuration - Document Based Apps should support either the Document Browser (UISupportsDocumentBrowser = YES) or implement Open In Place (LSSupportsOpeningDocumentsInPlace = YES/NO)


Once again Apple improves the automatic checks on applications to find bugs in the configuration. The FileMaker app declares in the info.plist file in the bundle, that it works as editor for a few file types. For an iOS app, this usually includes the FileMaker Document type with the extension fmp12 (unless you change that).

An application declaring file types must specify whether it can open them in place or needs copies to work on. This is new since the introduction of the iCloud file synchronization. To fix, you'd need to add the missing LSSupportsOpeningDocumentsInPlace key to the info.plist file.

In Xcode, please locate to the project settings and there to the target settings. In the Info tab you find the info.plist settings for the applications. In the section for custom iOS target properties, you add a new entry with the following values:

Name: Supports opening documents in place
Type: Boolean
Value: NO

Please try and see if your app still runs. As we expect that FileMaker may not do the extra coordination for secure scoped bookmarks, we use the value NO above, so the OS may do copy files to temp folder for FileMaker to access them.

The key is documented here on the Apple developer website in the LSSupportsOpeningDocumentsInPlace section.

Older blog entries:

2018-09-18 Ein Monat bis zur FileMaker Konferenz 2018 in Malbun
2018-09-18 Meetings at Consumer Electronics Show CES 2019 in Las Vegas?
2018-09-17 MBS FileMaker Plugin, version 8.4pr9
2018-09-17 Using Emojis in FileMaker
2018-09-17 DbgView for watching trace messages live on FileMaker Server
2018-09-16 Use Machine Learning for detecting porn images
2018-09-13 MBS FileMaker Plugin, version 8.4pr8
2018-09-13 FileMaker iOS SDK and MBS Plugin Video
2018-09-11 90 Countries
2018-09-09 12 years since MBS FileMaker Plugin version 1.0
2018-09-08 FMnext Experience II in Meilen, Schweiz
2018-09-03 MBS FileMaker Plugin, version 8.4pr7
2018-09-01 MBS FileMaker Plugin, version 8.4pr6
2018-08-30 Live barcode reading for FileMaker on MacOS and iOS
2018-08-27 MBS FileMaker Plugin, version 8.4pr5
2018-08-24 FileMaker and WebViewer communication
2018-08-23 Playing with LibXSLT
2018-08-22 Acht Wochen bis zur FileMaker Konferenz 2018 in Malbun
2018-08-22 FileMaker Stammtisch Nürnberg
2018-08-21 MBS FileMaker Plugin, version 8.4pr4

Archives

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