Within the realm of FileMaker development, there are a number of key techniques which allow you to do the types of things you'd normally expect in any development environment. Many of these have been around for many years. In this case, this one, a decade. The unfortunate thing is that some of these obscure methods and techniques just aren't that easy to replicate from memory. Some are hidden in the corners of FileMaker development because they feel like they're "hacks". But, at least they get t
When Add-ons were announced, it sounded like they were going to be the holy grail of transportable code within FileMaker. Thus far, I don't know exactly what the adoption rate is and if the effort is paying off for Claris. I think the concept still has legs; as you can see that the new experience Claris is putting into FileMaker currently leverages what was built.
While I have my own personal strong opinions about how Add-ons were implemented and are currently used, there's no doubt you can sav
When first starting with FileMaker, I remember learning all the default Date/Time/Timestamp functions. The documentation for FileMaker is great and the example calculations often lead you in the right direction.
One of the things I didn't know about was how dates, times and timestamps were treated internally. More importantly, how this impacted what I wanted to do with date/time calculations and integrating with external systems. Later down the road, I learned about all the other things I neede
For many FileMaker systems, the number of concurrent logged in users, especially those who will hit issues with record locks, is often very low. Typically, these types of systems are used within the local area network and you just ask the offending user to unlock the record. However, with the number of remote users logging into a system through the WAN, a variety of things have had to change. The way you architect a database system can't necessarily take the same approach as was done before.
One of the most satisfying things about being a solution developer is the opportunity to create the user interface. You get to create, and modify, how users interact with your software creation. It's like shopping for just the right outfit for that perfect occasion. The one which will present your software in just the right light and with the right amount of pizazz.
Of course, you have to be willing to update and change your style over time. Nothing stays popular forever - right? So, you consta
When first using FileMaker's Filter Portal Records feature it's easy to get excited about how you can limit the set of records to exactly what the user needs to see. You start adding a single filter and the result feels like magic. A simple search filter using a global field will let you extra exactly the records you want. It's great!
However, when start adding more and more filters things start to get complicated really fast. You have to become super comfortable with creating complex calculati
Who doesn't need to mark subsets of records? I've rarely, if ever, worked on a solution which couldn't take advantage of simple record marking. Whether it's for creating a user based subset or simply toggling an active or favorite value.
Marking records is something which should just be standard. So, why not make it both standard and universal. Meaning, you use one single script regardless of whether you're dealing with a current found set of records or a filtered portal - and independent of a
For many FileMaker solutions it's fine to use the default standard FileMaker menus. There are only a few dangerous menu options which can cause serious problems. In fact, learning how FileMaker actually works, via its default menus, is a big benefit in a lot of situations. In some, however, it makes a lot of sense to simply take advantage of being able to implement and use our own menu systems.
In this video we walk through how to get started with Custom Menus and how to take advantage of the f
For anything that could possibly go wrong within FileMaker we have a list of Error Codes. They're easily referenced from within FileMaker's help documentation. While they won't give you the exact solution to any particular error that's happening, they do provide the starting point for where to look and troubleshoot.
In this video, we take a look at how to simply use and reference the provided FileMaker error codes. We also look at how you can intentionally cause an error in order to take contro
One of the more troublesome questions we ask ourselves as developers is "Am I doing this the right way?". And, while it applies to most all situations, it most certainly applies to data structure.
If you don't structure your data well enough, then you either have to restructure it later, and migrate, or try to solve some of your problems in very odd ways.
Fortunately, the variety of ways you can actually store data presents a lot of options depending on what type of software you need to create
When you consider every little action you take while creating any type of software, if you add all those actions up, you can end up with a lot of extra repeated steps.
In consideration of all the fields you may be creating for various utility purposes, along with your normal data fields, it's always a nice idea to take advantage of features which may save you those little bits of time.
In this video, and the provided sample file, you'll benefit from using FileMaker's somewhat hidden feature of
Sometimes it's nice to revisit the basics and make sure you've covered all your bases when it comes to what you can do with certain features.
In this video, I take a good look at using the Hide Object When calculation and cover the various options I'm familiar with. This includes uses for the most basic True/False to an increasingly complex calculation which starts adding more and more operators. I also go over the use of containment objects and how they can simplify the use of the Hide Object
If it's not absolutely necessary, preventing a user from accessing parts of your software is a bit better than letting them know what's possible or what's hidden from them. It also allows a given group of users to focus better without presenting options which may not apply to the functions they perform.
In this video and technique file, we take a look at two tricks combined into one. We're making single segments of a button bar hide and show, without resizing, and we're doing this based on a us
In FileMaker, once you've filtered a portal, which displays a subset of related data, there may be situations where you need to get that data out. A prime example is needing to further manipulate the data within a spreadsheet.
A recent solution I was developing had this exact need. I needed to filter some financial data based on a wide date range. Yet, I still needed smaller subsets, think categories, of financial data and wanted to pull that data into a spreadsheet for a separate purpose.
While there are some features which FileMaker provides natively, I often wonder how heavily they are used. One feature in particular is the Saved Finds feature, which is only available in Find Mode. It's a great feature in terms of convenience, however, its implementation is right on top of the funky developer'ish UI. It's buried many levels deep within multiple dialogs (if you want to modify any of the saved searches) and it's just not as pretty as developing your own within a dedicated layout
In FileMaker, some features seem like they should be an easy solve. Yet, the dynamic nature of creating something in FileMaker means its development simply can't account for all the possible things a developer might want to do.
When it comes to showing the actual count of records being shown within a filtered portal one might think the solution would already be there. However, it's not.
You have to apply some creating thinking along with a bit of inside know-how in order to correctly show the
In the world of software development, there are few tools you simply can't live without. A debugger is the first which comes to mind; because no one gets their code exactly perfect the first time. Plus, it's always a matter of figuring things out until they work as expected or desired.
There are also those "other" tools which you can't really live without. ESPECIALLY, if you're working with a solution file which was created by someone other than yourself! When you need to discover what the heck
Oh the pain of a slow rendering layout! The other day I came across a painfully slow layout which was literally CRAWLING. It reminded me of one of my own situations where I needed to create a solution for some type of creative data input. This, of course, was based on FileMaker's input limitations between two types of fields.
The choice of using a Drop-down list over a Pop-up menu field style was based on the type of input being managed. I didn't want the forced interaction of having to click,
Every once in a while you need to store something with an extra bit of security. Maybe it's a password or some super secret text with a winning stock market strategy. Whatever it is, you don't just want to rely on the authentication, privilege set and possible EAR (encryption at rest) on the file.
You want to store the data itself with even that much more security. By encrypting it with CryptEncryptBase64() of course! The trick is this. How do you capture that data, before it's written to the d
In this video we focus sp
Portals and list views represent one of the biggest reasons for using a database for managing data. You can view the data in a myriad of ways and FileMaker provides the tools to modify the views quite easily.
FileMaker's list view happens to be the most powerful when compared to portals. We don't really have the same feature set presented within a portal. Using a portal it's an all or nothing approach to sorting by default and you can't really search the portal contents. You can certainly hack
What's the easiest way to format a FileMaker date, time or timestamp value? Using a custom function? Maybe...
In this video, I'll show you a unique trick for getting a formatted date, time or timestamp value without using a Custom Function or any of FileMaker's Date or Time functions. Of course, I'll also provide you with one of the better custom functions for formatting date/time/timestamp values.
The custom function in this technique file handles pretty much all possible variations of date/t
Anyone can just throw everything they need within a portal. Adding a new field? Just throw it in the portal. But WAIT! The question is "Should you?". The fine art of determining what should end up in your portal is based on how the data and/or actions are being referenced/used.
Is the frequency for editing the data high or low? If it's low, then maybe the user doesn't need field access. What is the frequency of record deletion? Low? Then, do you really need that obvious red trash can icon on ev
Value lists are one of the fundamental building blocks of any good UI built on top of a database system. Providing users with a preselected list of options to choose from helps the data entry process go faster and - is - just easier.
When using value lists, there are times when you need to limit the number of selections of any given value to being used just once. You may also need to enforce that one of each of all possible values is used.
In this video, we tackle both situations by enforcing
Being able to develop locally, as if the data and the server was right there on your local machine provides a nice advantage. You know how the solution will work when hosted, you can develop and test PSOS scripts effectively, and you're generally protected from client crashes. Plus, you're fully mobile if need be - it's all on one machine.
This is where hosting your FileMaker solutions locally becomes a big advantage. This video showcases what I consider to be the Big 3 of local hosting. 1) You