We have been testing FileMaker 16 for many months, and using it extensively since it was released a couple of weeks ago. The general consensus seems to be that FileMaker 16 is one of the most significant releases in years. There seems to be something for everybody.
A lot of developers (and their users) are going to be excited about FileMaker 16 features like Card-style windows, oAuth 2, iOS animations and transitions, expanded WebDirect scalability through multiple Web Publishing Engines, Script Workspace improvements, calculation dialog and Data Viewer enhancements, and a series of new functions large and small. I would like to focus on five new features in FileMaker 16.
Feature #1: REST/JSON
A lot of ink will be spilled over the coming months describing the value and purpose of REST/JSON for the FileMaker Platform. Basically, the FileMaker Platform is adapting to the trend toward ever greater integration by offering both the ability to use JSON parsing and generating, creating a FileMaker Data API using REST, and making extended cURL options available to the Insert from URL script step. We can now “talk” to REST API’s natively, using Insert from URL and cURL, and then parse the resulting JSON that is returned. We can also construct JSON as part of the request.
These features are clearly for advanced developers, but it opens up a whole world of outside REST-based APIs to the FileMaker Platform without relying on third-party FileMaker plugins. It is also the impetus to explore new ways of using outside data within a FileMaker solution. And once the FileMaker Data API is taken into account, it can open up access to a world of tools for advanced reporting, analytics, data mining, and geographic information manipulation. Witness the support for providing FileMaker data via the REST API in JSON format to Tableau Desktop via its Web Data Connector. Currently in a beta trial, it will be interesting to see how the FileMaker Data API evolves over the coming year, and what happens with pricing and the makeup of the FileMaker Platform as FileMaker gets close to monetizing it.
Here at Colibri, we are initially interested in the enormous world of public data sources, like what we can get from the New York City and State governments, as well as available expert systems from sources like IBM Watson. We envision mashups of public and private data providing new avenues and uses cases for the FileMaker Platform.
Read our discussion of some of our early experiences with FileMaker and expert systems in our blog entry, FileMaker Meet Watson.
Feature #2: Geofencing and iBeacon Enhancements
Location Monitoring has been significantly improved in FileMaker Go. Whereas there was support for iBeacons in earlier versions of FileMaker, the user had to manually search for iBeacons using the RangeBeacon script step, and geofencing support did not extend to background monitoring of a user’s location.
In FileMaker 16, a single script step, called Configure Region Monitor Script, allows you to set up an iBeacon or group of iBeacons to monitor via Bluetooth using UUID and Major and Minor values. Once an iBeacon is detected, FileMaker Go runs a script.
Configure Region Monitor Script [Monitor: iBeacon; Name: MonitorName; Script: “My Script"; UUID: Location::UUID; Major: Location::Major; Minor: Location::Minor]
Similarly, Configure Region Monitor Script can create a geofence around a location based on its latitude and longitude with a radius of specificity measured in kilometers or fractions thereof.
Configure Region Monitor Script [Monitor: Geofence; Name: Location::PlaceName; Script: “My Script”; Latitude: Location::Latitude; Longitude: Location::Longitude; Radius: $Radius]
Each identified iBeacon or geofence can fire off its own control script, and you can use the Get(RegionMonitorEvents) function to determine if the user has entered (1) or exited (0) a defined region and perform different actions depending on the value.
This encapsulates the basic concept, but one can imagine more complex implementations using Find scripts, the Loop script step, the Location function of FileMaker Go, the Install OnTimer Script and Loop control script steps, and Layout script triggers.
Be on the lookout for our upcoming FileMaker 16 Location Monitoring blog entry for more details and ideas!
Feature #3: New Print Engine
FileMaker has been talking about a new unified print engine for a while, and one of the things it has made possible is printing (to PDF) from WebDirect on a browser. Formally, you could only print the contents of the FileMaker layout in front of you.
With FileMaker 16, WebDirect can now create PDFs of complex, subsummary layouts that mirror exactly what has always been possible printing from FileMaker Pro. The new print engine should open up a world of new browser-based FileMaker custom app implementations.
And for those of us who want to generate nightly automated reports, FileMaker Server can now print to PDFs as part of server-side scheduled scripts. Check it out using the Compatibility filter in the Script Workspace—both FileMaker WebDirect and FileMaker Server now support the Save Records as PDF script step.
Feature #4: External Script Language Control
With the way we build large, multi-file data separation model applications in FileMaker, we need the ability to suppress outside script language access. Even without full access, a competent Applescripter could manipulate and modify databases remotely in earlier versions of the FileMaker Platform.
Preventing this access really ramped up the complexity of the FileMaker Security matrix in our solutions. And the FileMaker Security dialog itself is modal, goes several windows deep to modify layout and field access, and only works in one file at a time. Not good.
In FileMaker 15, the ability to call a FileMaker script from Applescript or VB Script could be suppressed using the fmscriptdisabled extended privilege, but it was not enough. Users could still explore schema, manipulate records and data.
With the release of FileMaker 16, the Platform has gone a step further. Two new extended privileges have arrived. In place of fmscriptdisabled, fmextscriptaccess allows developers to control any Applescript or VB access to a FileMaker custom app. Another extended privilege, fmurlscript, controls the ability to use URLs to perform FileMaker scripts.
For those of us using the data separation model, with large solutions with many tables and layouts, or employing a secondary user group membership method, these new extended privileges help us to plug a potential security hole.
God forbid, these new extended privileges also allow us to use a bit of layout level “security through obscurity” as well.
Feature #5: Layout Objects
Layout Objects (Ctrl+Alt+T) is a great new tool for managing FileMaker layouts and make several aspects of layout design much easier. Consider the following objectives:
- I want to see the list of all objects on the current layout.
- I want to find one or objects by their object names.
- I want to hide an object on the layout to work with what is underneath it. This is very helpful if you have complex layouts with layers of objects controlled by “Hide object when” calculations.
- I want to choose an object placed underneath or within another without choosing the other object. For example, a portal within an unlocked tab panel.
- I want to see only the fields, or the buttons, or text.
- I want to quickly name all objects on a layout to ensure consistency in my nomenclature.
- I want to find all orphan text boxes and delete them.
Layout Objects showing all objects. Choose an object to rename it or hide/show it.
Layout Objects filtered to see only Text objects
Sometimes only a quick glance at Layout Objects let’s you know that something needs to be named or deleted. It’s much easier to find objects using the Layout Objects dialog than by lassoing areas of a layout and to see what is highlighted!
In addition to finding and filtering objects on the current layout, Layout Objects also allows the user to define script triggers from the menu accessed by right-clicking the object name.
For every gimme there’s a gotcha: If you have a grouped set of objects, the Inspector or right-click attributes for one object in the group are not immediately available. For example, consider a field that has been turned into a button. From an object standpoint, it is part of a Grouped Button, so clicking on it and then opening up the Data panel in Inspector will reveal very little. To see Style, Field Name, Placeholder Text, and similar information, you must first expand the grouped button in Layout Objects and choose the field. Now the Inspector will show the field’s attributes.
And One Bonus Platform Fix: Removal of Windows App Window
In Windows, FileMaker 16 replaces the multiple document interface (MDI, or app window versus document window) that persisted in earlier version of the platform with a single document interface (SDI).
For all its life, FileMaker Pro for Windows placed the FileMaker document within an enclosing application window. To users of MacOS or later versions of Windows and Windows applications, this represented an archaic way of presenting a FileMaker custom app. For FileMaker developers, it meant that extra attention had to be paid to the window behavior when a second window was opened or a single user interface was being designed in a multi-platform environment. In other words, a lot of work to managed an outmoded design.
With the new SDI for Windows, there is no app window layer, just a document window. To accommodate this change, each regular FileMaker 16 window has its own menu bar (this can be suppressed in new windows). Perhaps it is not as graceful as FileMaker Pro on MacOS, but SDI beats having to manage two types of windows, tinkering with window maximizing behaviors, and seeing an empty parent window when you first open FileMaker Pro.
SDI also makes monitoring multiple windows much easier, and makes utilizing multiple monitors in Windows possible. FileMaker windows can now be moved across different monitors freely.
For more FileMaker Platform blog entries and demos, Colibri news and views, follow us on Twitter and LinkedIn, our Nectar blog, and engage with us via the FileMaker Community and the New York FileMaker Developer’s Group.