Article Tags

Click or tap one of the article tags to filter down to a smaller selection.

Our Library of Videos

843 videos found.
Validating JSON for Scripts 12/10/2020 - 8:00am

Using JSON for passing multiple parameters can be a real life saver. Because JSON keeps all individual parameters separate from each other, you can pass pretty much any type of data except for container data - although you can pass a reference to a container easily enough. Your parameters can also have as many levels as necessary and the JSON can easily be modified as it moves from script to script.

When writing a complex and large collection of scripts, you eventually hit errors and issues. You end up spending extra time hunting down problems and eventually you find out it's a simple issue where you just "forgot" to include that one additional item the script needed in order to handle the process properly.

This is where validation comes into play. It's a perfect solution for making sure your scripts work the way you expect them to. Rather than letting the script fail, then determining whether it really did fail or not, you're telling the script it MUST fail unless it has all the required parts.

Thus, a single script, with a multi-dimensional JSON validator is a wonderful tool to have for your complex scripting situations. In the associated video and technique file, you'll find a complex script which will save hours and hours of time by validating your JSON data before the script even tries to use it.

Simple User Messaging 12/03/2020 - 8:00am

FileMaker natively provides us with some really nice tools for user feedback. We can use the Show Custom Dialog or even create a dedicated dialog using a Card Window and Layout.

There are, however, times when you need something a little more subtle. Just a simple message on screen will often suffice. The next question is whether you need the user to interact with that message or not. The solution is simply to provide both options of course.

In this video and technique file, we explore a super simple method for providing user feedback via a simple message which is shown using a dedicated Button Bar. Scripting the message happens within two lines of code and doesn't have to add a whole lot of scripts to your solution. It's quick, easy and a great way to provide user feedback.

User Specific Preferences 11/25/2020 - 8:00am

The wonderful thing about creating software is it feels like you're able to create your own universe. You're the master of that universe and how it functions and reacts to its users. It's a very empowering feeling to know you can direct and control data in a way that makes it useful to others.

When considering all the directions that software can take there's always that simple fact that different people like different things. Heck, someone buys the Rhubarb from the grocery store - because they keep stocking it - right?

So, what is the best way to offer user specific preferences to your solution users? Well, as always, this depends on the type of preferences you're trying to offer. If you're looking for a streamlined and efficient method of storing and referencing user specific preferences, then we may just have the solution you're looking for. In this video, we walk through a very straightforward solution to both storing and updating user preferences for a wide array of solution functionalities.

Advanced Portal Filtering 11/17/2020 - 1:00pm

Portals are wonderful tools for showing related data relevant to what your solution is solving. Sometimes, however, there's a trick to getting them to show exactly what you want. The combination of functions required may not always be obvious and it can be hard to achieve the desired result.

Essentially, you have to know how to extract the specific key values which allow you to filter only the desired rows. In this video, I walk through all the specifics of creating a custom function which allows you to filter unique keys such that only the desired records will be shown.

If you've ever had the need to filter your portals in a highly specific way, then this video and the associated technique file will likely provide you with some great insight. In a short amount of time, you'll get those portal filters to work exactly as you need!

Restoring Deleted Records 11/10/2020 - 12:19am

There's this special feeling you get when developing software where you feel like you've created something magical. Sometimes, it doesn't even matter if you've done the same type of thing before. It just feels like you're the master of the universe and you've created something super useful.

This may even be the case when you're simply creating a virtual trash can and providing users with the ability to reverse course on that accidental record deletion.

In this video, we're taking a look at a super simple trash can metaphor. It's easy-to-implement and allows users to bring records back from the dead.

While there are multiple ways to handle record deletions, many of which are discussed in this video, the whole concept of being able to dig in the trash and take something out is familiar territory for many computer users. We're just going to emulate it within our FileMaker systems.

Insert From URL cURL Options 11/03/2020 - 9:00am

Do you need to work with online APIs and find yourself wishing there was an easy way to accomplish it? Well, there actually is. In fact, in much of technology, there's something or someone somewhere which has likely already solved the problem.

In the case of using REST (Representational state transfer) to interact with service APIs within FileMaker, it's nice to have a single tool which will handle most of the heavy work for you. When native JSON was added to FileMaker, the last piece to the puzzle was a more expanded method of interacting with the network. The cURL library was already being used by FileMaker and it was simply a matter of "opening things up" so developers could use the full suite of the cURL library.

By adding the cURL options calculation to the Insert From URL script step the world of the web opened up for our humble FileMaker Pro.

This video provides a comprehensive understanding of how curl is integrated into FileMaker and how you can use a freely provided script to manage all your REST based interactions. Knowing about HTTP status codes and request/response headers is what you'll find covered in this video and the associated file.

Designing with Portals 10/21/2020 - 5:30pm

Over the years I've spent a lot of time working on a wide variety of themes for FileMaker Pro. Many of those themes involve taking advantage of every possible display mechanism which FileMaker portals offer.

When getting started with creating solutions in FileMaker Pro you don't always know what you can take advantage of. When it comes to portals there are a variety of settings and theme aspects which allow you to create some really creative looks. In this video I strive to show you all those hidden features and how they might impact the look of your designs.

With this video, I hope you learn all the little details which make it really fun to create great looking portal designs!

Detecting Data Changes 10/13/2020 - 8:00am

Here's an interesting dilemma. How do you track when specific fields are modified and adjust your JSON object so it only includes the data which was modified? Or, how about knowing when a user has modified specific fields, then having the user interface direct them down a different path than if they had modified others?

In both situations, you simply need to know when a field was modified. Using the Get ( RecordModificationCount ) function we can know THAT a given record was modified and using a modification field we can know WHEN it last happened. What we don't know is when only a specific set of fields is modified. We also may need to know exactly which fields were modified in order to take some type of action. This is where Detecting Data Changes is quite helpful. There are a number of ways this can be accomplished and the solution, as always, depends on what your needs are.

In this video, I showcase a method I use to detect data changes and then generate a JSON object based on specific fields which were changed. If you find your solution needing to work with an external API or needing to simply know when certain fields have been changed then you're sure to find some valuable info within this video and technique file.

Scripting - JSON Data Writer 10/01/2020 - 5:21pm

While working on a solution which made heavy use of an online API for REST based communication, the solution slowly revealed it had a large number of "specially dedicated" data processing scripts. Many of these scripts were quite normal in the realm of "I have some data, I want to put it into the right place." You know, your typical Go To Layout then Set Field script steps.

The issue, however, was that most all of them did somewhat they same thing - a lot of code duplication. They either put the data into a field on some layout or they moved it into a global variable.

For myself, while developing within any solution, I always try to see where efficiency can be improved and implement as needed. The result of some recent efforts was creating a generalized data writer for JSON based data. It turns out that this solution is quite efficient and allows you to not only reduce your total number of solution scripts, but also makes it quite convenient to provide instructions about where data needs to be stored.

If you enjoy optimizing your solution's method of handling data, then it's very likely you'll benefit from a number of the valuable lessons within this comprehensive video about a JSON Data Writer script.

Writing Custom Functions - Successfully 09/22/2020 - 5:16pm

While taking the time to write a four hour custom function the other day, it occurred to me that some viewers may think that complex custom functions are just something which pops out of your head and immediately ends up on the screen.

When, in fact, the truth is it takes a lot longer than you expect because you rarely get things perfectly the first time. It's all about wading through the errors and issues and ending up with the desired result.

In this video, I walk through my process of composing Custom Functions and talk about every detail I can think of. Many of the tips and tricks will also be applicable to your normal process of composing calculations. There are a few nuances which are specific to composing Custom Functions and it's well worth the watch if you're dealing with any kind of JSON based data. If you've always wanted to improve your confidence related to composing code for calculations, then I'm sure you'll gain a good bit of insight when watching this video.

Pages