Sometimes you need to query FileMaker records as XML or JSON data and include related records. This can be tricky to do in pure FileMaker scripts and calculations, but via MBS FileMaker Plugin we can provide help. Our FM.SQL.Execute function can use SQL to fetch records. The FM.SQL.CSV, FM.SQL.JSONRecord and FM.SQL.JSONRecords functions can help to pack those in comma/tab separated text or JSON. New for next plugin version are FM.SQL.XMLRecord and FM.SQL.XMLRecords functions to do for XML what we had for JSON already.
Below we have a sample script to use FM.SQL.XMLRecords to get records from two tables and insert the related records in the right position in the XML with our XML.SetPathXML function.
# SQL XML in file Contacts
# Run query to fetch some records
Set Variable [ $sql1 ; Value: MBS( "FM.SQL.Execute"; ""; "SELECT \"PrimaryKey\", \"First Name\", \"Last Name\", \"Company\", \"Title\" FROM Contacts") ]
The fine people at WolfSSL have a few impressive products around SSL, Encryption and SSH with an emphasis on the performance and on a small footprint. Since CURL already offers multiple SSL backends, we could build our plugins using wolfSSL.
CURL is doing well and we are using it now for over 10 years in our plugins for various tasks including HTTP, FTP, SFTP and email via IMAP or SMTP protocols. See the state of CURL video where Daniel explains the progress.
Compared to the OpenSSL library we use currently for most things, wolfSSL has a lot to offer:
If you are concerned about memory usage, check wolfSSL as it uses less memory.
When you need a cross platform SSL library, it offers latest TLS 1.3 with DTLS 1.2.
They include hardware support for encryption, so if you have acceleration hardware in your computer, they can use it.
While wolfSSL has its own interface, they also have a compatibility interface matching OpenSSL, so a transition would be easy.
You may benefit from additional progressive ciphers such as ChaCha20, Curve25519, NTRU, and Blake2b.
wolfSSL can be used for free with the GPL license option or used with commercial license and they offer paid support.
If you have a need for use of wolfSSL, please let us know. We can offer to use CURL functions using wolfSSL as SLL backend for your projects in Xojo and FileMaker.
Together with wolfSSL, we can offer customization to CURL library itself. We corodinate with Daniel Stenberg from wolfSSL to get changes made for you in CURL and then integrate those into our plugin functionality to get you the features you need the most.
With next MBS FileMaker Plugin (already in 10.3pr7 to try), you are able to trigger the sharing services in macOS from FileMaker. You can pass images, URLs, styled text and native file paths to various services. Not just one value, but several, e.g.
Send text and image to Messages
Send files, text, images, URLs, subject and recipients to Apple Mail
Send pictures to Photos application
Send text and URLs to reminders or notes applications
Send files via AirDrop to other users
Send URLs to reader list in Safari
Send PDF to Books application
Send picture to make it the desktop background
More services are available, for example when you install other applications.
Did you know the old Firebug (ceased in 2017) can still be used in a web viewer in FileMaker on Windows?
We got it to work here for some development:
Allows to open a console, do some inspection in DOM tree and CSS rules. It even allows you to select object in the html page with mouse to inspect. And can optionally run in a separate window.
But sadly it is long outdated, so may not know latest JavaScript tricks or have some bugs. And doesn't work with more than 1x resolution of screen as far as I see. But otherwise may be a help here to debug JavaScript with IE 11 within FileMaker's web viewer. For installation in FileMaker, you can run the JavaScript to initialize via WebView.RunJavaScript via our plugin.
Noch vier Monate bis zur FileMaker Konferenz 2020 in Malbun (Liechtenstein).
Vom 28. bis 31. Oktober17. bis 19. Juni 202122. bis 24. Juli 2021 findet die elfte deutschsprachige FileMaker Konferenz im JUFA Hotel in Malbun, Liechtenstein statt. Ursprünglich geplant für Juni muss die Veranstaltung leider in den Oktober verschoben werden. Wir hoffen dennoch auf tolles Wetter, viele Interessante Teilnehmer und Gespräche. Eventuell könnte das die einzige Konferenz rund um FileMaker in diesem Jahr werden, die vor Ort stattfindet.
Ein MBS Schulungstag ist für den Mittwoch vorher geplant. Bei Interesse kann man sich gerne bei uns anmelden. Die Ankündigung liegt hier: MBS Workshop
Die Veranstalter vom Verein FM Konferenz erwarten auch 2020 rund 120 Entwickler, Anwender, IT-Fachleute und Entscheidungsträger aus Wirtschaft, Bildung und Verwaltung. Rund um über 20 Fachvorträge und Workshops wird es viel Zeit zum Vernetzen in den gemeinsamen Pausen und beim Abendprogramm geben.
Für den Deutschsprachigen Raum ist diese Konferenz das Treffen des Jahres. Hier finden Sie vom Anfänger bis zum Profi Kontakte zu anderen Entwicklern. Lernen Sie was es neues gibt, nehmen Sie Impulse mit für die eigene Arbeit und erfahren Sie mehr zu FileMaker von deutschsprachigen Experten!
Bitte planen Sie wenigstens einen extra Tag ein für ihren Besuch in Liechtenstein, damit Sie die Natur in dem schönen Tal geniessen können. Den Aufstieg auf den Sareis können Sie bequem zu Fuß vom Hotel aus starten und die Turnastraße hinauf spazieren bis zum Restaurant am Gipfel. Oder alternativ die Seilbahn nehmen.
In Zusammenarbeit mit dem Verein FM Konferenz bieten wir eine Schulung zum MBS Plugin an. Am 28. Oktober 202016. Juni 202121. Juli 2021 können Sie in Malbun, Liechtenstein an einer eintägigen Schulung teilnehmen. Lernen Sie die über 6000 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
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 Formulars auf einer Webseite
Bilder bearbeiten
PDF Verarbeitung
Druckerfunktionen
Barcodes und Zahlungsscheine
Einbinden von Webservices with JSON/XML für REST/SOAP.
Senden und Empfangen von Emails.
Fragen und Antworten
Die Teilnahme kostet 200 CHF inkl. Verpflegung und MWSt.. Trainer ist der Plugin Entwickler und Monkeybread Software Geschäftsführer Christian Schmitz persönlich. Beginn gegen 9 Uhr und Ende gegen 16 Uhr.
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. Wegen Covid-19 besteht die Möglichkeit, dass Veranstaltungen ausfallen müssen. Das wird sich eventuell erst kurzfristig entscheiden. Aktuell ist Liechtenstein Covid-19 frei und die Grenzen sind offen. Wir bitten um baldige Anmeldung und können für unsere Schulungen eine kostenlose Stornierung anbieten.
Bei Fragen und Themenwünschen melden Sie sich bitte direkt bei uns.
We watched the Apple WWDC keynote. From all the announcements Apple made, the one causing the most work for us, will be the transition to Apple Silicon, their own CPUs based on the ARM 64-bit design.
As the rumors were around, we expected that to come and look forward to see what they can do. We started already and got Xcode 12 beta and built our plugins for ARM. It works mostly and a few little adjustments are needed. Currently it doesn't link yet as libraries are still in need to be rebuild. We started to build various libraries and I can say zlib, openssl, curl, sqlite, png and others build just fine.
Building them doesn't mean everything will work, so we have to wait for a test device to show up here. But that may happen in the next weeks.
We will be ready when the first devices go to public and Claris or Xojo ship their updated applications to use with our plugins.
But such a change reiterates how important it is to work with supported applications, where some developer takes care and provides regularly updates. In the last 5 years, a lot of clients came back to ask for 64-bit versions for MacOS, Windows and Linux as all operation systems moved to 64-bit. Now quite a few will come back to ask for ARM versions later this year.
Update: It's Friday, 26th June and I am done. All plugins for Xojo and FileMaker build for Apple Silicon. Once the test Mac arrives, we can try them.
For MBS FileMaker Plugin 10.3 we added a new shortcut with Command-Shift-F to jump focus in the search field for the script list in the Claris FileMaker Pro Script Workspace.
In Script Workspace:
⌘ ⇧ F
to set focus to script list search.
⌘ F
to set focus to search field for current script.
⌘ +
zooms in.
⌘ -
zooms out.
⌘ =
zooms to 100%.
In Data Viewer with focus on the list (blue line around):
⌘ F
shows find bar.
⌘ G
goes to next found text.
⌘ ⌥ F
to show/hide fields.
⌘ ⌥ G
to show/hide global variables.
⌘ +
zooms in.
⌘ -
zooms out.
⌘ =
zooms to 100%.
⌘ ⌥ C
copy text in the list.
In text areas like custom function editor:
⌘ R
shows rulers.
⌘ I
shows invisible characters
⌘ F
shows find bar.
⌘ G
goes to next found text.
⌘ ⌥ C
copies styled text.
In a list showing in the FileMaker, e.g. list of fields:
⌘ C
copies content.
⌘ F
shows find bar.
⌘ G
goes to next found text.
⌘ +
zooms in.
⌘ -
zooms out.
⌘ =
zooms to 100%.
In relationship dialog:
⌘ F
sets focus to search field.
Please enjoy and if you have questions, please don't hesitate to contact us.
Finally we moved to macOS Catalina just before the next version is announced on Monday at WWDC. On the way there a few apps stopped working like the older Real Studio and FileMaker versions. DragThing didn't make to the new OS and for some old buddies like Fetch, we got updates.
The old Xcode 9.4 doesn't work any more, so that may be the end of the 32-bit Mac plugin for FileMaker here. You can still get version 10.2 from us in 32-bit if needed, e.g. you still have FileMaker 13 and need to use the plugin to push data as JSON e.g. to the DATA API in newer FileMaker servers.
For Xojo the 32-bit Mac compilation via command line still works, so we can keep that a bit longer, but can't test anymore here without a VM. We now build 32-bit and 64-bit MacOS plugin via command line using Xcode 11.5.
One thing we had to adjust a lot of file paths is that, we can't put a folder any more on root folder of the start volume. The disk now has internally two partitions with a read only one for the system and a writable with my data. Great to protect me against applications trying to hack into the system. But inconvenient as I had to move my build system to move a folder in my user folder.
As the new MacOS version is upcoming, we will mark a couple of classes/functions as deprecated, e.g. Addressbook functions. Please move to newer Contacts functions as we are not sure whether Apple will keep the older APIs around in case they change something like the CPU architecture.
For MacOS you can use our Preferences.SetValue function to set the preferences value for "Preferences:UseInitialfile" to 1 to enable or 0 to disable. The preference value "Preferences:Initialfile" uses a Mac specific FileMaker path to the file to open. Here are the two MBS calls to setup a new path:
For Windows the preferences are stored in the registry, so you need to know the right key. There we set UseInitialfile with 1 or 0 to enable or disable with data type DWORD. The file path to the file is provided as a FileMaker path with filewin: prefix. Here is a sample call:
To automate installation on dozens of computers, you could do this by script when solution launches to define the file to open for next start. e.g. automatically install FileMaker, send user a welcome email and have them click fmp:// URL. That URL can trigger FileMaker to launch, open a remote database on the server as guest and show a welcome layout. And in a script to setup, you could define what file to open next time. And of course that file could be written to documents folder by script via an Export Field Contents script step. Please only do those steps with user consent!
Added Command-Shift-F shortcut for Mac to directly jump to FileMaker's search field to find scripts in script workspace. Command-F for our script search.
Our company Monkeybread Software, legally Christian Schmitz Software GmbH, has been named a Claris Partner Connect: Find a Claris Partner.
Earlier this year Claris Inc. introduced their Claris Connect service and made a series of webinars to learn inform all partners about it. In one of the webinars they defined the challenge that interested partners can be come a Connect partner by fulfilling a few things. For us my co-worker Stefanie Juchmes made this for us.
Congratulations to Stefanie for doing this. And doing this in English is even more difficult for a non-native English speaker.
We look forward for Claris Connect starting in Europe with local servers and to get the details on how to integrate other services there, so maybe we can create a few for our clients.
PS: Looks like we are the first to do this in Germany.
As you may know the MBS FileMaker Plugin can create Swiss QR-Codes for invoices (ISO 20022) with our Barcode functions. We have an older example which generates QR Codes for Invoices in Switzerland as picture and place them in a container field to print them. But there is another way by doing vector graphics like the new example here to put the barcode on top of an existing PDF:
Did you notice the layering improvements in FileMaker 19?
Compared to older versions, the new FileMaker version now uses individual controls for layer elements. That allows the OS to do hardware acceleration and FileMaker may only need to redraw the parts which changed, leading to bigger performance.
For you, it does have the advantage that you can now better layer objects on top of each other like a button on top of a web viewer.
For next plugin we'll adjust our code to place plugin controls on the window to work better.
At dotfmp we had a small extra session with Russell Watson, Peter Wagemans, Andries Heylen and Shin talking about building a new JavaScript thing to make using FileMaker.PerformScript easier. You know a few developers came up with code around FileMaker.PerformScript to delay a call until the function is available, to repeat calls if a JavaScript exception is rasied and try again or to find standard ways to work with promises to have the FileMaker script call back to JavaScript in order to acknowledge that it was called successfully.
But in-between, we noticed something else and today I verified this in the office before posting a blog post. FileMaker.PerformScript triggers the script you call immediately. It does not wait for current script to finish and just pushes any current script down on the call stack and puts the new script on top, so it runs directly. That is different to plugins starting scripts as they get added to the queue and start whenever the current scripts are finished.
You may know that we added our script message handler functions in version 8.0 about two years ago. The feature was brand new in WebKit and you could use our WebView.AddScriptMessageHandler function to install a callback in the web viewer.
Fast forward to FileMaker 19, the same technique is used by Claris to provide the FileMaker.PerformScript function for MacOS and iOS. And with our plugin functions can we manipulate this and control whether it works or not.
If you look into the FileMaker.PerformScript function (see blog post The FileMaker.PerformScript function in FileMaker 19), you can see the message handler is named "fm". And this handler can be removed if needed with WebView.RemoveScriptMessageHandler function. If needed you can disable the feature once you don't need it any more. Or if the website you load is not trusted and you want to prevent it to trigger FileMaker scripts.
To restore the message handler, you can use WebView.AddScriptMessageHandler with name "fm". In next 10.3pr2 plugin we added a check there, so if you use that name, we restore the default FileMaker handler and not ours.
If you like to check whether the FileMaker.PerformScript function is ready, you can check with a call to WebView.Evaluate:
This returns "object" if the object exists or "undefined" if not. By default FileMaker installs the FileMaker object once the page is loaded. We recommend putting in an "about:blank" as URL into the web viewers on the layout to make them be initialized earlier before you may set an URL in a script. Unless an URL is loaded into a web viewer, it is non existent and all plugin functions can't find it.
Die denkform® GmbH lädt zu unserem exklusiven FileMaker 19 Online Launch Event ein. Dieses Jahr virtuell via Blizz, einer Videochat Software aus Deutschland von der Firma, die Teamviewer macht.
Themen
Lars Seliger zeigt die Neuerungen in FileMaker Pro 19
Christian Schmitz von MonkeyBreadSoftware zeigt alle Neuerungen in seinem einzigartigen und mächtigsten MBS Plugin für FileMaker.
Für das MBS Plugin empfehlen wir vorab die Präsentation hier zu schauen. Wir zeigen dann ausgewählte Funktionen und Beispiele vom MBS Plugin im Webinar.
This week the dotfmp.berlin conference starts and Monkeybread Software sponsors the event. This year the event will be virtual with many more attendees and as you may know, servers to host such an event still cost money. Here the overview of the supporters:
We wish everyone a great conference this week!
For MBS Session, we'll provide a video of the presentation and then do a Q&A session to show some examples and answer questions.