Killer ValuesWalk Custom Function
Discovering ways to make software faster and more efficient brings a great amount of joy to developers. The reason behind this is simple: with enough experience, you come to realize that straightforward and simple code is much easier to maintain than complex and hard-to-maintain code. Self-contained code with fewer dependencies is both easier to understand and refactor.
In this video, I share one of my all-time favorite functions in Claris/FileMaker development, the Custom Function named CustomList. Although this function has served me well, it has now been surpassed in terms of speed and optimization by a newer method - the ValuesWalk function. This video demonstrates how you can utilize FileMaker's calculation engine to calculate the results you need and then seamlessly display those results within your user interface using the ValuesWalk function.
Moreover, the ValuesWalk custom function extends far beyond the simple use case presented. It can be employed to process any type of data, from generating ad-hoc delimited text files to processing simple lists. The ValuesWalk function is absolutely a valuable tool that every developer should be familiar with. With built-in performance testing, you can determine the optimal chunk size for processing the data you are working with. This knowledge is essential for advanced Claris/FileMaker development and is a must-know piece of information for developers aiming to optimize their solutions.
- Read more about Killer ValuesWalk Custom Function
- 10 comments
- Log in or register to post comments
Writing Custom Functions - Successfully
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.
- Read more about Writing Custom Functions - Successfully
- 2 comments
- Log in or register to post comments
List Processing with Custom List
While FileMaker's calculation engine is super powerful for managing all kinds of unique calculations, the one thing it lacks is a feature for running a repetitive function across a range of data. This is certainly possible within the Scripting engine with the use of the ever wonderful Loop script step.
However, as stated, there's no way to really process a range of data using just a function. Unless... you create your own or use one which has already been created.
As it happens, there is just such a function which has long been one of the most powerful custom functions of all possible FileMaker custom functions. It was created over a decade ago and is still, too this day, one of the most powerful custom functions you could ever learn to use. The function is called CustomList and it's a must-know function for any FileMaker developer.
- Read more about List Processing with Custom List
- Log in or register to post comments
Custom Function Database 17 - Adding a Search Bar
Making it easy for users to search for content is what your job is all about. If you're relying on FileMaker's default Query By Form method of searching, then many users may not know how to use the full functionality of FileMaker's search.
This is where you, as the developer, get to control how users interact with the data. By taking advantage of both FileMaker's QuickFind and the normal Query By Form, you can implement really nice features like an easy-to-use search bar.
In this video, we walk through the process of adding just such a search bar into the Custom Function database. If you're interested in learn about how you can take full control over the searching process then this video will provide you with a lot of insight!
- Read more about Custom Function Database 17 - Adding a Search Bar
- 5 comments
- Log in or register to post comments
Custom Function Database - Part 9
Heading back into our series on the Custom Function database, there’s always an opportunity to explore yet another area of using FileMaker to create solid solutions. This video focuses on the fact that we’re storing canonical data which we want to leverage, yet not alter.
When you store data for any type of templating system or data which acts as the basis for further variations you have a number of choices in terms of how users interact with that data. For this solution we want the user to be able to easily modify the data but not the original data. Instead, giving the user their own copy allows them to keep the original and have their own custom modifications as well.
Watch this video if you’d like to learn more about using FileMaker’s validation options in order to facilitate controlled data duplication. That’s exactly what we’ve done in part 9 of the Custom Function database.
- Read more about Custom Function Database - Part 9
- 2 comments
- Log in or register to post comments
Custom Function Database - Part 6
There comes a time when every great database must acquire a brand new look. This really applies if you’ve never even given your database a user interface or you’re looking to revamp the one you currently have.
The best place to start, I find, is with the “primary objective” of the interface. In fact, I would argue that it’s best to focus on the number 1,2 and 3 aspects or goals of the user interface. I do this for every single layout being designed. By doing this before you start to throw fields on the layout, you afford yourself the ability to keep things simple before getting too complex. Many of the most popular products and software interfaces start out super simple.
Some of them become bloatware, like many of the Microsoft Office products, but they had a good foundation when it came to how users have learned to use them.
In this video, we take a look at starting the user interface for our Custom Function database. I provide some foundation and the basis for how I approach the process and showcase how I implement based on the decisions I’ve made.
- Read more about Custom Function Database - Part 6
- 4 comments
- Log in or register to post comments
Custom Function Database - Part 5
Lately, here at ISO FileMaker Magazine we’ve been covering a lot about web services and using technologies like REST, cURL and JSON.
Well, that’s not about change with this video. We’re now needing to move forward with our Custom Functions database and make a connection to the web site where the custom functions are hosted.
We do this with a dedicated Custom Function which takes advantage of the Base Elements plugin to make HTTP requests. With the knowledge learned in our cURL video about request & response headers, we can connect to the BrianDunning.com web site and get the id values of any new custom functions.
Making this type of request means we are relying on code which can break at some point in the future, should the web site itself change. So, I talk about how to deal with this and how to parse the data in the most efficient manner.
Let’s scrape some web data and get it into our database!
- Read more about Custom Function Database - Part 5
- 3 comments
- Log in or register to post comments
Custom Function Database - Part 4
When you know just a little part of how FileMaker works under the hood, you can come up with creative solutions to everyday problems. Take web services as an example. They use defined structures such as XML and JSON. And, when you consider that you’re using this third party defined structure and the need to mix in your own data, you want to find the easy way to solve the problem.
In my case, I really like the path of least resistance. Of course, there are many ways to solve a problem. Let’s consider a FileMaker script. It can be self contained and have no dependencies on any other FileMaker elements. It can be called by another script and can be completely disassociated from any and all context. Context, within FileMaker, if you didn’t know, is the situation where a script can only do something if it’s executing in the right place. The right place would be the current Layout in which the script is running.
If we don’t fight context, however, and simply make our scripts only operate within the proper context, then we can simply handle the error when the right context doesn’t exist and let the proper people know about it.
I’ve coded solutions in both ways. Context independent and context sensitive, and it really boils down to use, preference and perspective. So, for this video we’re taking the context approach and using FileMaker’s ever so easy ability to merge in field data or global variables into text objects in order to make things easy for us to copy our Custom Functions to the clipboard. This information in this video and file have “Oh so many implications.”
- Read more about Custom Function Database - Part 4
- 2 comments
- Log in or register to post comments
Custom Function Database - Part 3
As you’re probably aware, whenever a great craftsman has a project in front of themselves, they’re likely picking from not just one tool but many. What this means, in the context of FileMaker, is that you can’t just stop with using FileMaker alone. There are many times when it makes more sense, or will net bigger benefits, when you go outside of FileMaker.
The trick is this, you don’t necessarily need to go too far outside of FileMaker to accomplish some amazing things. Right within FileMaker is the Web Viewer object with direct access to JavaScript and just a little beyond that are plug-ins which can access pretty much anything else you could ever want.
On the Macintosh, we find that we have access to a plethora of tools which can sift through data like nobody’s business. On the Windows side you’re a simple install away from having the same power.
This video is all about going outside of FileMaker in order to leverage a treasure trove of tech for parsing HTML and beyond. Watch this video if parsing anything you could ever want out of a web page is something which appeals to you.
- Read more about Custom Function Database - Part 3
- 7 comments
- Log in or register to post comments
Custom Function Database - Part 2
In the world of software development, you’re basically taking things apart. Adding data here, taking away data there and remixing things. Simply put, it’s all just a matter of how the data needs to be presented to those who wish to see it.
In the first video in this series, we did the data collection and now we need to do something with that data. In most cases, you’re typically going to be parsing data if it’s not in a format ready to be stored. So, we need to parse the custom functions and their details from their source. We’d like to store them in a format which will meet our own objectives.
Fortunately, there are a number of ways to parse data. When it comes to native FileMaker parsing, you’re inevitably going to be using Left(), Right(), and Middle(), functions. But, when you’re working with well structured data, such as HTML, you have to do a bit more work than just using a simple Middle() function. That’s what this video is all about.
- Read more about Custom Function Database - Part 2
- 5 comments
- Log in or register to post comments