• entries
    116
  • comments
    3
  • views
    2,307

Entries in this blog

FileMaker Magazine

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.

Click the title or link to this article to view the video.


View the full article

FileMaker Magazine

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!

Click the title or link to this article to view the video.


View the full article

FileMaker Magazine

While FileMaker’s script step Insert from URL does allow for basic communication with web services, it is, by no means, comprehensive enough to provide all the features necessary. What’s really needed is the full cURL library.

This open source tool has been available for over 15 years and is baked into a ton of software packages, including FileMaker itself. However, it’s really only exposed within plug-ins such as Base Elements and the MBS plug-in.

So, in order to fully understand what going on, it’s best to start with the source. And, that’s understanding cURL itself and how options are managed and how you set and parse HTTP headers.

This video walks through the process of using cURL within the context of a plug-in. Once you understand how to set and control settings through the plug-in, you’re off to the races and working with any web service you can think of.

Click the title or link to this article to view the video.


View the full article

FileMaker Magazine

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.”

Click the title or link to this article to view the video.


View the full article

FileMaker Magazine

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.

Click the title or link to this article to view the video.


View the full article

FileMaker Magazine

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.

Click the title or link to this article to view the video.


View the full article

FileMaker Magazine

Developing software is simply a matter of solving a problem by organizing and collecting data in a manner which makes the data useful to the end user. So, we’re just a bunch of data organizers and presenters.

One of the biggest benefits to a software developer is their known resources. There are tons of resources available to us every day. Sometimes, it’s a matter of knowing where those resources are and others it’s a matter of taking advantage of what we already have.

In this video, I start a brand new project which will be a Custom Function database. Along the way, while coding the solution, we’ll be taking a look at a lot of features present within the current FileMaker development environment. Learning how decisions are made and what influences them is a great way to learn how to ask questions about your own creation process.

Click the title or link to this article to view the video.


View the full article

FileMaker Magazine

Each time a new version of FileMaker is released there are more features and more information about what’s possible with the software. More functionality means more learning in order to take advantage of those features.

There are, however, core features which should be known by all developers. This includes knowing how to script Find mode and building an interface around the search functionality. Knowing how to script an omitted find request may not be super obvious unless you think of Find mode as being the same as Browse mode. Yet, scripting Find mode is exactly like scripting Browse mode. You can create an automated find which can be as complex or as simple as desired. It’s all a matter of translating what you would do with the normal native functionality and wrapping a user interface around it.

That’s what this video is all about. Taking the native methods for finding data sets and putting a user interface around them. When combined with a thought process towards lower maintenance costs, you can create some efficient methods of finding data.

Click the title or link to this article to view the video.


View the full article

FileMaker Magazine

It’s so easy with FileMaker, to simply add, add and add some more - especially to the Relationship Graph. You get the request to see a different set of data, and you hop right to it by adding a new relationship and table occurrence.

Wait a second! Each time you add something new to your FileMaker solution you’re making an agreement with yourself that you’re willing to maintain an ever growing garden of technological spaghetti. With a bit of planning and know-how, you can easily satisfy a growing number of data requests by making your portals able to filter out whatever you desire to show.

In this video, I walk through the use of a dynamic portal by way of filtering data using the Custom List function. It’s the ideal solution to being able to see whatever data you want to see from a relationship where the data is already being loaded from FileMaker Server. If you’re interested in a FileMaker solution which both performs well and also offers user flexibility, then you’ll find some answers within this video.

Click the title or link to this article to view the video.


View the full article

FileMaker Magazine

I can certainly understand why the Let function isn’t the first thing newer FileMaker developers decide to learn. First, it’s a very complex looking function, and it isn’t inherently obvious in terms of the benefits you’ll receive for knowing it. And, second, it likely just doesn’t show up on the “must-know” radar until you see it used in an effective way.

However, the second you realize its true value, it becomes a must use function. I actually can’t see how someone would develop in FileMaker Pro without using it. It’s the ultimate code organizer. It makes things clean and provides so many opportunities to keep your overall code base much smaller.

In this video, we take a look at the Let function and my top 5 reasons for why you should know and use it. If you’ve got more reasons, then please add comments on the article page!

Click the title or link to this article to view the video.


View the full article

FileMaker Magazine

For some developers who are new to FileMaker, they may not come from a background of having worked with SQL or some other query language. Creating joins on the fly, as data is needed, is a foreign concept. Yet, when you create a relationship within the Relationship Graph, you’re creating a join which will be permanent for the life of the file or until deleted. This isn’t the case with SQL based solutions.

With FileMaker, the notion of joins comes in the form of persistent relationships within the Relationship Graph. These persistent joins add to the complexity of your solution but stand at the ready to return whatever data you wish to present.

In this video, I walk through the process of breaking down how to extract specific data via relationships. It’s the dark arts of showing exactly what you want to show on screen or being able to isolate that data using a Go To Related records script step.

Whatever your needs are, knowing how to filter out your desired data is a key skill to have when working with FileMaker Pro.

Click the title or link to this article to view the video.


View the full article

FileMaker Magazine

With most software, especially a growing software solution like a FileMaker database, you inevitably end up with settings and preferences. These settings may be used for the solution itself, certain features or even user specific settings. No matter what the settings or preferences, you often need an easy way to manage and access them.

In this video, I showcase a method for handling settings which may be required for a server side script or client side operations. No matter when or how the settings are used, providing an easy way to get at them is always and ideal solution. Using the example of sending an email via an SMTP server, we can take a look at a creative approach to accessing settings which are managed within $$GLOBAL.VARIABLES.

Click the title or link to this article to view the video.


View the full article

FileMaker Magazine

We’ve all been inspired by the creativity and wide array of UI widgets which have come from the mobile side of computing. In fact, what you present and when/how you present it always offers the opportunity to find new ways if doing so. The whole swipe down to “rubber band” a refresh was a breath of fresh UI air.

When presenting users with options, one of the more common methods for presenting these is using a Pop-up menu. After making a selection in an initial menu a second menu presents options specific to the selection made in the first and so on down the tree. It’s a very common UI pattern.

Sometimes, however, this doesn’t quite work from a UI standpoint. It’s at this point in time when another option may be desired. If you’re comfortable with learning and using ExecuteSQL and how Virtual List works, then you’ll find that presenting a hierarchical tree of options can easily be managed within a single portal. Drilling down through the options and having a way to traverse back up the tree is everything you’ll find in this video. The sample file will have all the parts you need in order to copy into your own FileMaker solutions!

Click the title or link to this article to view the video.


View the full article

FileMaker Magazine

If you’re capturing photos with an iPhone or iPad and FileMaker Go, then everything should work just fine as long as you do everything within FileMaker Pro. You see, FileMaker takes care of presenting the user the picture in the proper way. But, this isn’t how the photo is stored.

As soon as you need to do any type of manipulation to the photo, then you’re headed for a shock when the picture turns out upside down or sideways.

This video discusses what you need to know in order to manipulate photos captured with a mobile device using FileMaker Go. If you’re in need of server side cropping of photos then pay attention to the details covered within this video!

Click the title or link to this article to view the video.


View the full article

FileMaker Magazine

Earlier in the year I released a video about using Google Forms in order to capture and then import data into FileMaker Pro. The code I was personally using was a bit more advanced than what I wanted to show at that time, so I simplified the process.

Having implemented, and used, many more Google Forms since that time, and knowing that I was exercising a great degree of control over the import process, I decided to reveal it all.

So, in this video I showcase the method I use to verify that an import is exactly what you expect it to be. I use an MD5 hash, which FileMaker implemented in version 13 under the somewhat hidden feature of GetContainerAttribute(). Using an MD5 hash it’s possible to uniquely identify anything you could ever want to identify. It’s a fast hashing algorithm and it can be used for all kinds of features within your FileMaker database. You can determine if a collection of fields has been changed. Whether an image has been modified or, in this case, whether an import file meets your exact criteria.

If you deal with imports and you like knowing that a file will match the expectations of your scripts then this video will provide a wealth of information regarding that process!

Click the title or link to this article to view the video.


View the full article

FileMaker Magazine

While recently teaching the layout/design portion of an in-person FileMaker training course, I found myself showing off one of the features which FileMaker has had since version 12. It’s an often overlooked feature which can be used quite creatively when you know how it works. It’s the Layout Background style of the layout theme.

When you understand the order in which FileMaker displays things, you’re free to create nice modern looking layout designs. Further, when you combine this with knowledge about themeing and styles, you can create a look and feel which is quite flexible as well.

In this video, I walk though an example database where I grab an image from Flickr and integrate it into a new custom theme for a FileMaker file. If you’ve never used images as part of your theme design, then watching this video will give you a great level of insight into what’s possible with layout backgrounds.

Click the title or link to this article to view the video.


View the full article

FileMaker Magazine

When was the last time you opened the Relationship Graph and heard that little voice say “Wow, you’ve gotta clean this up!”? Maybe it was yesterday, maybe it was just a few moments ago.

Whenever the voices come, it’s a pretty easy task to accomplish when you apply some solid understanding to how the graph works and what it represents in the whole of your solution.

If code could write itself, then organization would never be necessary because no one would need to maintain or revise it. It would simply rewrite itself as needed. Sort of like how a tree grows. When a new branch is needed, it just starts to grow. Unfortunately, you’re the gardner of your own creations so you need to apply some forethought to what you create when working in the Relationship Graph.

In this video, I provide my own personal insights into how I approach the graph and what I think makes for an easier solution to maintain. When you consider how complex a FileMaker solution can quickly become, the notion of keeping things easy to work with should be a high priority.

Click the title or link to this article to view the video.


View the full article

FileMaker Magazine

Providing visual feedback about the sort state, and direction, of your list views is always a nice feature to have. Not only does it fulfill the expectations of what users are already used to within the OS, but it let’s users know they can actually sort on those columns.

In this video, I walk through the use of a Button Bar object in conjunction with some other common tricks in order to provide dynamic column sorting indicators.

This is one of those standard must-have features within your FileMaker solution!

Click the title or link to this article to view the video.


View the full article

FileMaker Magazine

Knowing which features to use and when to use them is great skill to have with FileMaker Pro development. Anytime you can determine when a certain script step, structure, web viewer or plug-in should be used is what makes for a productive developer.

In this video we’ll take a look at a long standing script step called Copy All Records. Using this core script step allows us to optimize a lot of things so we end up with a faster FileMaker solution.

With the additional tips and education in this video, you should be that much closer to solving a number of various issues for your FileMaker database. Make sure you know how to use Copy All Records in the most efficient manner!

Click the title or link to this article to view the video.


View the full article

FileMaker Magazine

BodyYou like being in control don’t you? Being able to control things exactly as you wish? Well, it’s one of the more addicting qualities of creating solutions quickly within FileMaker Pro.

When you’re working with dates, there are times when the native date picker just doesn’t cut it. You can’t make it larger or smaller, you can’t change its colors, and if you’re on iOS then you’re limited to the default iOS date picker. You’ve got no control.

When a user is choosing a date from a calendar, you should probably have a bit more control. This means you need a calendar widget which is under your total control. In this video I showcase a calendar picker I’ve been using for years and years. In this case, however, I’ve updated it to fit the more modern methods of doing things within FileMaker Pro.

If you’ve ever needed full control over a custom calendar widget then look no further than this video!

Click the title or link to this article to view the video.


View the full article

FileMaker Magazine

Developing in FileMaker Pro is rewarding because of the speed with which you can accomplish things. The speed, however, isn’t worth much when you only know one possible way to do things. It’s the master carpenter, who knows all the tools and methods for getting things done, who is the most efficient.

When it comes to replicating a found set within FileMaker, there are many paths to take. Your standard Perform Find script step will simply pull up a found set of records based on predefined or dynamic criteria.

There are, however, many cases where a found set is composed of data which has been filtered. This could be a list view of data where individual records have been omitted or a set of related records derived from a filtered portal.

Regardless of how the found set is derived, if it’s a random set of records which need to be recalled, then saving this found set becomes valuable. It turns out, there’s a method for saving this found set and it’s the most optimized method possible. This is because it’s the same method which FileMaker itself uses.

This video is about recreating a found set and being able to use it in various ways. It could be used for a PSOS (server side) script or simply to provide the user with a feature of being able to save and recall a found set of records at any time. No matter what your needs, knowing how to use this feature is a valuable piece of FileMaker know-how!

Click the title or link to this article to view the video.


View the full article

FileMaker Magazine

In July of 2016, Matt was afforded the opportunity to present as a speaker at the annual FileMaker Developer's Conference. FileMaker Inc. decided to make the release of the session videos available for the general public. The session was well received with high marks given all around.

The session was a jam-packed roundup all the various things you can do with FileMaker layout objects in order to meet the objective of creating designs which work well within a small form factor. If taking advantage of FileMaker Go's highly portable convenience is one of your personal objectives, then set aside an hour of time and watch this video.

If you're looking for the sample file provided, then the link is provided below and within the video itself as well.

Click the title or link to this article to view the video.


View the full article

FileMaker Magazine

In FileMaker, if we only had list and form views for viewing data, then we’d probably be just fine. But, who wants to just get by with a minimal set of methods for viewing data? The ever valuable portal provides a wonderful view into whatever data you wish to show.

It can be related data, menu options, a list of users or pretty much anything. Especially, when using a portal as a Virtual List of something being held within a $$GLOBAL.VARIABLE.

The key thing to understand about portals is that FileMaker just provides you with the bare minimum. The level of expected user interaction just might not be there for your solution. For example, take a basic portal, select a given row and hit the delete key. What’s the result? The default FileMaker dialog. What if you’d like to run your own script when the delete key is hit?

How about that wonderful trash can icon, or any other icon placed in the first row in Layout mode. Well, you see them on EVERY portal row. Yuck! Take off that obvious UI distraction. Instead, make it show only when a given portal row is selected.

This video will provide you with all kinds of inside knowledge into how you can make your portal interactions just that much better!

Click the title or link to this article to view the video.


View the full article

FileMaker Magazine

Working with dates within FileMaker isn’t as complex as working on launching a rocket to the moon. But, as with most all technical things, it’s always good to know what’s going on under the hood. Knowing how things work allows you to implement the desired solution in the most efficient manner.

When talking about relative dates we’re talking about “Today”, “Tomorrow” and “Last Year”, not 7/6/1996. You can always instruct FileMaker to lookup a date range based on the whole year of 1995, but isn’t it nicer to simply provide the user with a menu with options relative to the current date.

In this video we take a look at the method of using relative date ranges in order to specify the starting and ending dates of those ranges. We do this using a Custom Function and some of the available triggers.

If you have any type of date-based data and you’re looking for an easy way to present things to your users, then you’ll likely find what you’re looking for in this video.

Click the title or link to this article to view the video.


View the full article