We had the question where we can access the playing video in an interactive container on iOS.
The answer is: Yes, we can!
And even on Mac, the same new function AVPlayer.FindPlayers looks for players on the current layout. It returns a list of all the players and you can than use our normal AVPlayer functions. Here a screenshot:
Left side macOS, right side iOS simulator.
So we can get the players on current page and there may be several. You can control the player, e.g. pause/play, query time and duration, change rate or volume. Next you can now use AVPlayer.GetAsset to query the asset for the player. There you can query images for videos, metadata and frame rate.
As you may know, we collect some statistics about plugin usage and today I’d like to show the versions of FileMaker used with MBS Plugins:
So we have about half of our users have FileMaker 15. We currently have more users with FileMaker 11 as with FileMaker 16, but that will probably change quickly. As you may expect, we do still support FileMaker versions down to 7 on Windows, but don’t test ancient versions any more (unless someone tells us about an issue).
In both FileMaker and Xojo we can use WebKit 2 for showing web content and enable the inspector:
For FileMaker 16, you can use WebView.SetPreferences function and set developerExtrasEnabled property to 1. Than you can open inspector via contextual menus.
For Xojo you can use WKWebViewControlMBS control for WebKit 2. There we will have a new property developerExtrasEnabled to enable the inspector in the contextual menu.
When you look through the examples, you see that I stripped some stuff like accounts, privilege sets and custom menus. And all the MBS function names are links to the documentation pages. The documentation lists the examples for each function, so you can see which example implements which function.
Enjoy it and in a few weeks, search engines will show them.
For a recent project I needed to export over 400 FileMaker databases to html reports. But FileMaker is not really scriptable. With FileMaker 16 you need permissions to use AppleScripts per database and that's not practical for this. While FM.RunDataDesignReport is convenient for inside a solution, it's also not applicable for a lot of databases. So I came to use an AppleScript to control FileMaker and click the right buttons for me:
tellapplication "System Events" totellprocess "FileMaker Pro Advanced"
clickradio button "HTML 1 of 2" ofwindow "Database Design Report"
if (valueofcheckbox "Automatically open report when done" ofwindow 1) = 1 then
clickcheckbox "Automatically open report when done" ofwindow 1
endif
delay 0.5
-- create
clickbutton "Create" ofwindow 1
delay 0.5
-- save
clickbutton "Save" ofwindow 1
delay 0.5
-- close
setfrontmosttotrue
keystroke "w" usingcommand down
endtell
This script can be called when you have a FileMaker database open. It will trigger menu command to open the Database Design Report dialog and click some options save the html report. Works fine here and I successfully created all those reports.
Today I got the question what the difference is between our JSON functions in MBS Plugin and the ones in FileMaker 16. Well, the obvious ones are the fact that our plugin works down to FileMaker 7 on Windows (8.5 on Mac due to missing PPC support), so if you need it for older versions or runtimes, you go with the plugin. But if you use FileMaker 16, the built in functions are free for you and it’s hard to compete with free.
But maybe you want to take a second look on how long you may wait for bigger JSON data sets. We usually use XML and JSON import/export not for 3 records, but for thousands. We automate data exchange with other services and so we need to process 1000s of records. MBS Plugin functions are built for speed, so we prefer to use the JSON reference numbers. Parse the data once, get a number and query it often. The FileMaker functions do not keep the parsed data and do the parsing for each query. With MBS Plugin we can use reference numbers, so even for building large JSON data sets, you can avoid producing text for each step and parse it again to add the next value.
Finally you need to know that JSONGetElement always returns text. This may be fine first, but can get you in serious trouble later. For example if you take this formula:
The text returned is "20.5", but you need 20.5 as a numeric value. Because if you later want to process it, you may need a number. Now GetAsNumber will take the "20.5" and convert it to 20.5 on a typical US system. But with German localization, we actually get 205. The dot is ignored as the German functions require a comma as decimal separator. MBS Plugin provides values in the correct types like boolean, numbers and text. If you like, use FM.DataType function to check what type a value has.
Feature
MBS JSON Functions
FileMaker’s JSON Functions
Number of functions
59
6
Available in FileMaker Versions
FileMaker 7 to 16
FileMaker 16 only
FileMaker Pro (Advanced)
yes
yes
Runtime Apps
yes
no
FileMaker Go
no
yes
FileMaker iOS SDK
yes
yes
FileMaker Server
yes
yes
Create arrays and objects
yes
yes
Delete elements
yes
yes
Format
yes
yes
List Keys
yes
yes
Get/Set Values
yes
yes
Parse once, Query often
yes
no
JSON Import with field/table creation
yes
no
Return data types
boolean, number or text
always text
Create Array with 2000 entries
162ms
1792ms
Get Values from Array with 2000 entries
195ms
2364ms
Your time measurements will vary (and please deactivate Trace log), but in general not parsing and formatting JSON 2000 times in a loop saves a lot of time.
FileMaker's functions are great as a base and certainly help all the beginners getting started with JSON and REST services. If you need more speed or more features, feel free to test our MBS Plugin. And if you miss something, let me know.
PS: Some of this issues with returning numbers have been improved in 16.0.2 release of FileMaker.
As you may know FileMaker 16 allows plugins to create new custom script steps. MBS Plugin 7.2 or newer registers a script step called MBS. This step can replace calls with Set Field or Set Variable and is just a convenience option for you to easier find our plugin:
You define the destination. This can be a field or a variable including the number of the repetition. Second option is the name of the function to call. This is either provided as text in quotes or picked from a calculation. The calculation can reference variables and fields, so you can define which function to call with e.g. reading function name from a field.
The next parameters are the actual function parameters. The first four are visible directly in the line, the other ones only if you click the gear. For each parameter you can specify a calculation to query value using fields or variables.
Technically this script step calls the exact same MBS function as before. For us the script step is just a bit of sugar for the script. The plugins can only provide a script step definition on startup and use the given options described in the plugin SDK documentation. We can’t dynamically change the options like presenting a popup menu with components and than a popup with the function in that component. Like CURL and than pick Perform.
As using the new script step breaks compatibility to older FileMaker versions, we will not use it for a few years in our examples until we no longer need to support older versions. But nice to have my plugin finally show up in script step list after 11 years of development. Please try it!
On my next visit to Nuremberg, I'd love to make another FileMaker developer meeting:
Wer hat Interesse an einem FileMaker Entwicklertreffen im Juni in Nürnberg?
Einfach gemütlich zusammen sitzen und über FileMaker Neuigkeiten, Konferenzen und die täglichen Probleme bei der Softwareentwicklung unterhalten.
Gerne zeige ich auch neue Pluginfunktionen oder helfe bei Problemen mit FileMaker Projekten. Einfach Computer mitbringen und was zeigen.
Bitte an der Umfrage teilnehmen und helfen einen optimalen Termin zu finden: 16. Juni
Bei Interesse bitte bei mir melden.
Sometimes we need to make screenshots or present with FileMaker in other languages and you can have at least eleven languages:
(you know all the languages for the menubars?)
I made a couple of little AppleScript apps to launch FileMaker 16 in another language. So I can double click the French one and another instance of FileMaker Pro launches on my Mac with French localization. Please try and let me know what you think about it.
Did you know you can use DynaPDF to convert Windows metafile to PDF as vector graphics?
When running on Windows, you can load EMF (enhanced metafile) or WMF and query their size. Than you can decide where to insert them and place them on a PDF page. Of course you can create a PDF page with the size of the WMF bounding box and place your graphic at full size.
If you like to create regularly documents with company logos, you can ask for example to provide them as PDF or WMF and just place them on the document as needed. As your designers when using something like CorelDraw can just export vector graphic as WMF, this is a convenient way to store them on Windows, except directly PDF. Be aware that some applications just embed a bitmap picture in the WMF, which lead to worse quality compared to pure vector graphics.
This requires a DynaPDF Lite license or better. If needed you can use a DynaPDF Pro license to render the PDF to JPEG, PNG or TIFF files.
With GraphicsMagick functions you can convert WMF files to bitmaps, but quality in DynaPDF may be better.
Today we worked with a client on runtimes which had a need to receive FMP URL calls. The FMP URL Scheme is not officially supported for runtimes, but it looks like the functionality is there. We only need to register the scheme with the operation system. FileMaker Pro does the same and register itself as handler for FMP URLs. We do the same for macOS and Windows but point to a different app:
For macOS we just follow the example steps from the Readme coming with MBS Plugins examples in URL Scheme folder. As you can read there, you change the info.plist file of the app. Than you use the URLScheme functions in MBS Plugin to set the default scheme handler. Instead of a FileMaker Pro (which usually is not installed on the clients machines), the runtime will now handle the FMP URLs.
For Windows, the installer for the runtime, registers in the registry the FMP URL scheme and points to the runtime exe file. This requires admin permissions.
In both cases, FileMaker Pro (if installed), won't be the FMP URL handler anymore. So please keep it an option only for clients who need it and have no FileMaker Pro installed!
This can be reverted on macOS by deleting the runtime (or some terminal commands for lsregister). On Windows you can revert it with registry changes or using the FileMaker Pro installer to install over the existing installation.
But the good thing, the webviewer can now use javascript based calendars which trigger actions back to the app via fmp URLs. Technically on Mac our plugin also allows you to use other URL schemes for your solution and handle them by a script trigger. See URLScheme.InstallURLEventHandler
Über 100 Leute sind dabei beim FileMaker Briefing in der Schweiz:
Fast wie eine FileMaker Konferenz trifft sich hier die FileMaker Gemeinde aus der Schweiz mit Gästen aus umliegenden Ländern zum Stelldichein. Michael Valentin berichtet, was es neues in FileMaker 16 gibt und bei der FIleMaker Cloud.
For a few minutes, before the boat left Zurich. Today I am in Meilen for the FileMaker 16 Event.
Tomorrow night is the Xojo meeting. If anyone here in Zurich area is interested in joining me, drop me a line.
Nickenich, Germany - (May 15th, 2017) -- MonkeyBread Software today is pleased to announce MBS FileMaker Plugin 7.2 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, Mac, 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 7.2 has been updated and now includes over 4600 different functions, and the versatile plugin has gained more new functions:
Our new plugin is optimized for FileMaker 16 and provides all the usual features in the latest version of FileMaker. The script workspace again shows the syntax highlighting and allows to search scripts. We added a new MBS script step, so you can easily use plugin functions in your scripts. Of course you can continue with using Set Variable as before and keep compatible to FileMaker 15. You can even yourself define custom script steps in FileMaker using expressions to evaluate with our plugin.
Included with the new plugin version is a plugin for iOS. This is a brand new plugin and allows you to try over 2000 of our functions already for your own solutions built using the FileMaker iOS SDK. We will need to check in the next months how iOS performs and which functions can help you the most. Most of the Webviewer functions already work on iOS, including the preferences functions to enable the developer extras.
For macOS we added a new preferences dialog. There you can toggle all the enhancements we offer for the FileMaker script workspace. And you can enter your license key for storing it in the preferences file with FileMaker. In the script workspace we added new zoom controls, so you can increase font size for your scripts. For popupmenu controls in FileMaker, you can now copy the values via our contextual menus. For calculation dialogs, you can now define a minimum font size, so you easier read them when presenting.
For Windows you can now send emails via the local email client application. This includes sending emails with attachments via Outlook or Thunderbird. Using our new Registry functions you can add, edit and delete registry entries directly from FileMaker.
For CURL we have new functions to setup queries to Amazon Webservices and we provide an example for AWS S3 download and upload. Our plugin provides the authentication based on AWS4-HMAC-SHA256 for the queries, so you can easily integrate several amazon services. With new socket type functions, you can now let CURL connect to an IP and use the connection like any other socket with reading and writing data. CURL encapsulates all the IP protocols (IPv4 and IPv6), proxies and SSL options for you. Finally we allow you to use the system root certificates on macOS and Windows for SSL verification.
For our Windows users we added new WindowsUserNotification functions to show user notifications on Windows 8 and newer. A notification can show a picture and several text lines to notify user about an event when your app runs in background. For macOS we provide similar features using UserNotification functions.
You can now show the character palette to enter emojis, set/get valuelists as xml from/to clipboard (see CTs FileMakerSnippetStorage.fmp12), new iOSDevice functions, better barcode creation, better Speak command and more.
Finally we updated LibXL to version 3.8.0, OpenSSL to 1.1.0e and 1.0.2k, SQLAPI to 4.1.11, SQLite to 3.18.0, DynaPDF to 4.0.11.27 and Xcode to 8.3.2.
Wir empfehlen allen FileMaker Anwender ein Abo vom Magazin und den Kauf der alten Ausgaben. Das FileMaker Magazin ist eine excellente Quelle von Informationen, Anleitungen und Profitips.
The new version of FileMaker offers a lot of great new features. Card style windows, copying value lists, new functions, a REST API and much more.
But you need to verify whether your solutions works fine with the new release before you upgrade. This includes checking whether all layouts still work the same. Scrollbars went away, so windows are a bit smaller or show a bit more content. The zoom controls are gone, so you may need to make your own if users miss them. Some things layout differently now in FileMaker Go 16 compared to 15.
On Windows having no parent window around your layout windows causes changes. Some scripts don’t work anymore and need to be updated for that situation. For your users you should always have a menubar in one of the visible windows available. Because if you hide all menu bars, there is no way to use the menus.
Next some things under the hood changed. WebViewer now uses a newer WebKit version on Mac with a different API. When I first got a preview of FileMaker 16, all my plugin functions for web viewer failed. Over time I got most working again, but still there are major things missing. For example WKWebView does hardly any printing. A couple of Cocoa developers run into this and I did not get it to print for my plugins. Better not move to FM 16 if you need WebView printing or PDF generation.
For using fmp URL there is a new permission setting in security dialogs. You need to enable it for your solution to continue to use this feature as before.
The new version include external script steps defined in plugins. While this is a nice addition, I will currently not use them until we no longer need to use FileMaker 15 and older. The script steps show as missing steps in older versions and only a DDR may show the ID of the missing plugin.
If you are FBA or VLA, please check the changes in the agreements. FBA members in the US must now have a General Liability Insurance.
Nevertheless FileMaker 16 is a big step forward for FileMaker and offers a ton of new features, fixes hundreds of old bugs and certainly helps to grow the community!
MBS Plugin 7.2 will contain the iOS plugin for the FileMaker iOS SDK.
To use it you need to be member of FDS so you can download the new SDK. You need to install Xcode and learn how to build an iOS app with FileMaker SDK. Next you may need to become a member of the Apple Developer program. Than you can setup certificates to actually run your iOS app on your iPhone and test it.
Next you want to add our plugin. As FileMaker includes the plugin as-is, we include a little Split application. The plugin comes with 32 and 64bit code for Mac and iOS. You can use it in the simulator and on the devices. This one can split the plugin into the various combinations like 64-bit only or a ARM only plugin. Be aware that the ARM only plugin does not work in simulator.
For some things like push notifications, we need the MBSInit.framework being added to the frameworks in the project, so the app includes it and loads it early at startup. We currently only need this to receive push notifications via MBS Plugin.
On Licensing you need a MBS license for either iOS specific or ProDevelopment in general. The normal seats, runtime and server licenses won’t help here. You can order a license in the store.
Linking the plugin in the app seems to be a problem with some of the issues we saw with iOS SDK. Like if you drop in the plugin, you may see it in the final app in both the Frameworks and the Plugins folder. But two copies is definitive a mistake! We think the one in Frameworks folder is not right. Next you may want to check what platforms the plugin supports. For shipping an app, you should not include code for Mac simulator. The feature request to have the iOS SDK strip the plugins to only ARM targets was denied.
To test plugin, I recommend to have a layout where you can simply put in an expression and evaluate it. This way you can put MBS Calls there and see what is happening. The MBS("Trace") command is also recommended to log all calls and see what is going on in the iOS app.
Finally I have to remember that this is a brand new target. While the plugin has been in development for some months, we got it to compile and run in the iOS SDK apps here. Works fine in Simulator and on iPhone in testing. Over the next months, we will have to refine it and get more functions working, fix all the issues we may see and hope for improvements in FM’s iOS SDK.
Jetzt wo Filemaker 16 verfügbar ist, können wir endlich ohne NDA darüber schreiben, was es bei den FileMaker Events nächste Woche zu sehen gibt: FileMaker 16. Bei zwei Events haben Sie Gelegenheit sich die Neuerungen im Detail von Michael Valentin vorstellen zu lassen:
16. Mai 2017
ab 17 Uhr im Restaurant Löwen, 8706 Meilen (am Zürichsee) in der Schweiz
siehe fmnext.ch
18. Mai 2017
ab 18 Uhr bei der Denkform in Hofheim (Taunus) in Deutschland
siehe denkform
Ich freue mich euch auf beiden Events zu sehen und vielleicht noch was zum MBS Plugin zu erzählen.
Anschließend noch gemütliches Beisammensein.
FileMaker Inc. just released FileMaker 16, it’s latest version of the FileMaker product family for database based business solutions.
Our MBS Plugin has been in testing with various beta versions the last months and a couple of issues have been resolved. You can download latest 7.2 beta from our plugin and use it today. We currently look with the final release of FileMaker 16 for issues, so we can release our 7.2 release next week.
With FileMaker 16 the WebViewer moves from older WebKit 1.x to the newer 2.x version. The newer WebKit APIs use a separate process to render webpages which makes it more secure. And they provide newer JavaScript version, higher performance and a lot of new WebKit features. FileMaker 16 uses WKWebView control to implement it and our plugin detects that on runtime. With 7.1 and 7.2 we rewrote all WebView functions, so they can either use the old or newer API depending on which WebKit version is used. Some features are no longer possible due to the rendering going on in another process.
Second big change is the script workspace which got a couple of internal changes for our plugin. The syntax coloring has been updated for 7.2 to work in FileMaker 16.
Third we got iOS support for our plugin for FileMaker’s iOS SDK. The new version can be used with plugin and MBS Plugin for iOS is included in the 7.2 download. Of course a lot of functions will not be available for iOS, e.g. there is no serial port on an iPhone. But over 2000 functions in our plugin should work well on iOS including things like Barcode creation or encryption functions.
As with the Linux version, the iOS version will grow over time. Please try it and let me know if you run into any issues. We add new features for iOS later this year. Already you can try notifications on iOS with a lot of options. This should work with local and remote notifications.
Everyone should try FileMaker 16, but before deploying it, find time to test all features of your solution and make the required changes. Than later this summer when you updated your scripts, layouts and plugins, you can start deploying it.
Viele wissen ja schon, was da auf uns zu kommt. Die Ankündigung für jährliche FileMaker Updates bei der DevCon lässt vermuten, dass jetzt jedes Jahr im Mai was neues von FileMaker kommt.
Michael Valentin von FileMaker Deutschland tourt wieder durch's Land und stellt vor, was es neues gibt. Aktuell stehen zwei Termine fest:
We got a new dialog for Mac in the preferences to toggle all the syntax highlighting options:
The dialog provides links to download and release notes webpages, shows the version numbers and allows you to toggle the settings.
Please try it in the next release.