Back in FileMaker 16, FileMaker gained the ability to authenticate against OAuth external identity providers Microsoft Azure AD, Google, and Amazon, but only Microsoft supports group-based authentication. That means that the Google and Amazon integrations still require you to configure each individual user in Manage Security, which might mean adding the users in multiple files, and this cannot be automated with FileMaker scripting. Yuck!
In 2019, Wim Decorte and Steven H. Blackwell started publishing a series of white papers about how to integrate with other identity providers (such as Ping, Okta, Auth0, OneLogin, Apple, etc.). This involves repurposing the Microsoft configuration by editing the dbs_config.xml file on the server. You can find the series at https://fmforums.com/files/category/4-white-papers/
Keycloak is an open source identity provider (IdP). It can work as a substitute to other IdPs like Microsoft Azure, Google, and the others already mentioned, but it can also stand in between your application and another IdP to give it additional capabilities.
The Sounds Essential blog series explains from first to finish how to install and configure Keycloak so I won’t be covering that here. Unless you just want to run Keycloak on your Windows machine as an exercise, I recommend to skip part 1 and launch an AWS t4g.small instance with Ubuntu 20.04, then proceed to part 2.
And finally we arrive at our topic for today – configuring Keycloak to add group-based authentication to Google! This should be of interest to any company that uses FileMaker and Google Workspace.
Have you ever tried to provide FMP URLs to users only to find that your environment was refusing to make the FMP URL a clickable link? This problem is common in web-based email clients, wikis, and other workgroup communications platforms.
The last post on Node-RED focused on installing and configuring a production-ready Node-RED server. In this post, we’ll look at how you can use Node-RED to improve the reliability of FMP URLs.
Scenario: Your system sends a notification to users via email, which includes an FMP URL to open the relevant record in FileMaker Pro or Go. But web based email clients might not output the FMP URL as a hyperlink.
Scenario 2: You wish to include FMP URLs in an environment that will not treat them as hyperlinks, like Microsoft Teams or a wiki platform.
Solution: Instead of including an FMP URL in the email, call a Node-RED service that will perform a redirection.
Node-RED is an easy way for FileMaker developers to integrate webhooks and microservices with FileMaker apps.
There are many videos and tutorials about how to use Node-RED with FileMaker. This tutorial is about setting up a production-ready Node-RED instance from zero on an AWS instance that will cost as little as $2.50US/month (or free with Free Tier).
These instructions assume you are on a Mac, but almost everything will be identical on Windows.
NOTE: If you do not wish to use AWS, you can still use this tutorial to configure Node-RED on Ubuntu 20.04. Once you have Ubuntu running and you are connected in Terminal, skip down to where it says “Run Updates…” and continue from there.
If you love installing and configuring printer drivers, this post is not for you! Label printing is a common requirement for FileMaker apps and while “File>Print” (or the Print script step) is the most common way to get a label to come out of the printer, it’s not the only way!
With ZPL, you can “print” to your networked Zebra or compatible label printer with Insert From URL. Better yet, this allows you to render text and barcodes that are perfectly optimized for the exact resolution of your printer (usually 203dpi), and there’s no need for any plug-ins, drivers, barcode fonts, or other special software.
No fuss, no muss! Ok, there’s some muss. ZPL is not the most intuitive language. The ZPL programming guide is 1590 pages long. Here’s the good news… I read it so you don’t have to!
Portal filtering can involve a number of small scripts for setting fields, clearing fields, and refreshing the portal. I’ve long been meaning to build one that would do it all, and that day has come!
This one script can be re-used anywhere without modification. Pass in some simple JSON to set one or more fields, one or more global variables, one or more window variables, THEN refresh one or more portals!