Jump to content
  • entries
  • comments
  • views

Entries in this blog

FileMaker Go Mobile Tricks

While recently working on a FileMaker Mobile solution I came across a number of tricks I was using which I thought might help other developers. The great thing about FileMaker Go is you have access to so many of the core iOS technologies and you can often create very attractive UIs in a short time. When it comes to controlling access and replicating certain iOS features, you only need a bit of creative thinking. If you see something done in another iOS app you can typically find a combination o

FileMaker Function - Get ( WindowMode )

Get ( WindowMode ) can be really useful when used to vary what is shown within your user interface. This video will both introduce and show you how to take advantage of the function. Click the title or link to this article to view the video. Afficher la totalité du billet

FileMaker Function - Get ( Device )

Interested in how you might use the Get ( Device ) environment function? This video will both introduce and show you how to take advantage of the function. Click the title or link to this article to view the video. Afficher la totalité du billet

Multi-page reports - Page Numbering

Claris FileMaker is continually adding new features in order to make things easier for developers. In the most recent release of version 19 we found a new function named Get ( PageCount ). This one function essentially emulates the combination of steps we needed to use to determine the total number of printed pages useful for adding a Page X of Y count to the bottom of a printable report. It's available for use within FileMaker Go, which is a big benefit. However, while the addition of {{PageNu

Controlling CSV/TAB Headers

Because of its age, FileMaker has a variety of options sprinkled in a bunch of different places regarding exporting data. Some of these options relate to getting the exact export of data you need from the software. In this video I cover a variety of specifics related to exporting data. One feature in particular is controlling the export headers you may need on your custom export. If you've ever needed to provide an output file of either CSV or TAB, and you'd like to have full control over the h

Using External Technologies

One of the greatest joys I get from working with FileMaker is making it do something it doesn't do natively. It's sort of like always being able to say "Yes" and never having to tell yourself "No". Enjoying your sweets and treats as much as you like! There is, quite literally, nothing I can think of that can't be done just outside FileMaker and brought back in to the software. Do you need OCR? AI processing? Serious image manipulation, complicated heuristics, complex PDF manipulation, data scra

FileMaker Magazine

FileMaker Magazine

Universal UI Strings

Claris/FileMaker, as a development environment, is full of all kinds of hidden corners and secret places. Most of this is due to its age and keeping a strong commitment to backwards compatibility. To its credit, there are very few features which have been removed to date. Still have a database which uses repeating fields to store data? They're still there! To say that developing within the environment is straight forward is a bit misleading. Sometimes, you can combine knowledge about older feat

Error Handling & Logging 3

If you haven't added logging into your FileMaker solutions, then you don't know what you're missing, and there's no better time than the present to do so. With the release of this video and technique file, you'll find an updated version of a long-running topic which goes back to 2013. The functionality we had in 2013 and 2020 is different than what we have now. We're always trying to take advantage of newer features and improve what we use in our solutions. If you've not watched the previous vi

FileMaker Memory Bug?

For all my time with FileMaker, there's this peculiar aspect of one's learning journey where small bits and pieces of information come to you in odd ways. You either happen to stumble upon them, or you're told about them through the grapevine. Not from the company itself. While most large companies are often busy with the business of improving their software, their outbound communications about certain things aren't always prompt or highly detailed. Personally, I love what Claris has been doing

Record Looping with JS

The world of JavaScript libraries is so rich and full that once you start using some of them you start to ask yourself "Should I even try this natively with FileMaker?" When it comes to something like QR codes we don't even have a native option to create them. Currently, there's no GenerateBarcode() function. There's also the situation where you're using one of these fabulous JavaScript Libraries and you want to loop through a found set of records. The problem is... — You try to use your new co

Fixed Field Length Imports

Even in today's interconnected world, you'll still find systems which are so legacy that the only thing you get out of them is some type of output which was popular back in the late 80's and early 90's. One of those formats, which isn't actually an import format, is PCL (Printer Command Language). Yep, there's still a lot of education institutions which will output a PCL file as an export, which is simply just fixed length text with instructions about how a printer should handle the output. It'

Privileged Navigation

As with most every database solution, one of your primary goals is to facilitate easy navigation. You want users to be able to get to where they wish to go without hassle. You also want relevant navigation based on the fact that a database isn't just a one-trick pony. A lot of software tends to focus on one singular thing. However, in many database systems you may be catering to wider range of users. This is where it becomes helpful to have a navigational method which is not only flexible, but

Mastering FileMaker’s Find Mode

Finding things within any database system requires the understanding of how to make a proper query of what you're searching for. In FileMaker, this comes in the form of FileMaker's Query By Form method of searching. To fully understand all of its power, you need to explore the concept of multiple requests, omit requests, using search operators and more. However, before you even start to get into Query By Form, you need to know what's going on with FileMaker's Quick Find feature. It's a very pow

Button Bar Keyboard Navigation

FileMaker provides a good number of UI widgets which allow for a wide mix of cool things. Sometimes, it's all about knowing the various features and functions which allow you to implement a really helpful navigation feature. For this video/article release you're going to find a wonderful technique which allows you to assign keyboard commands to the navigation of a Button Bar widget. There are a number of ways this technique could be used, but the fundamental reason for doing so is because you

Structure Planning & Schema Tips

One of the best parts of learning to develop within FileMaker is you have a great sense of "full control" over the data you want to manage. This applies to situations even as simple as a hobby or something you enjoy. In fact, these "hobby databases" are some of the best ways to expand your learning about how to both structure and present data. If you haven't before, you should give yourself a challenge with something you enjoy! In this video, I decided to break down the series of steps I took w

Using Portals for Navigation & Interaction

Portals can be used for essentially two different functions. Either data presentation or interaction. Of course, as you already know, you can also use a portal for both aspects of presentation and interaction as the same time. In this video, we continue the growth of our Home Project database where we take a look at the core differences between a Master/Detail portal (Current found set) and one which uses a Self Relationship. If you've not come across the differences between portal types, and

Creating Styles & Naming them

Any FileMaker solution is a growing collection of stuff to be maintained. By the nature of development, some things will be replaced leaving some aspects to be abandoned and others to be lifted up by revitalizing them. Regardless of what goes and what stays, it's best to have a plan for how things will be added and how easy it will be for your future self, or anyone else, to be able to identify those things. In this video, I walk through the Home Project database I'm working on and I talk about

Design Planning

Designing within FileMaker can either be pretty easy or somewhat hard. There's no exact way to design the look and feel of your solution, but the process of implementing the design can be easier when using FileMaker's grid. In this video, I talk about the process I use to first determine the size of a layout and then go on to refining its size so it fits within the golden ratio. Finally, I talk about implementing my use of the grid to make the styling of objects easier and give myself some gui

Data Structure & Default Elements

Being in need of a new database system myself, I decided to simply document the process of adding new features to a FileMaker system as it evolves. This is a great way to learn about the ins-n-outs of what goes on when developing a new system. There's a number of things which may or may not make sense when you take a look into how someone else created something. So, why not make videos as the solution progresses. In this first video, I showcase how I originally started the file and where I shou

FileMaker Sharing Steps

Having recently consulted with a newer developer unfamiliar with the way FileMaker hosting/sharing works, I found that discussing the process would be a good primer for anyone just starting with FileMaker. If you've only ever worked or developed your file on your local machine, then learning how to host that file will be a big benefit. Especially if you need to collaborate with another developer. One of the key benefits of developing with FileMaker is the fact that it allows for collaborative l

Restoring User Environments

Over the years I've created a number of videos about restoring user state. Returning windows to their last viewed location, restoring tabs and slider panels to those last viewed, etc. I've also created videos about super quick startup and managing users within a Users table. What I haven't shown is how I combine all of those processes into a powerful user environment restoration routine. Along with highly maintainable (and transportable) code. I've used this approach on most all of the solution

Get ( LastMessageChoice ) - Show Custom Dialog tricks

Sometimes, it's just good to reflect on how you use certain FileMaker features. You know, the simple ones. Like Show Custom Dialog and Get ( LastMessageChoice ). If you use FileMaker for mobile a lot, then Show Custom Dialog is a great way to go. With Desktop, you might have less than optimal results because users can reposition and resize the dialog. Aside from those few issues, however, it's probably one of those script steps you find yourself sprinkling all around your FileMaker solution. Th

Learning FileMaker Functions

When you really want to master creating all kinds of powerful solutions within FileMaker, then you'll have to be familiar with as many functions as possible. In fact, it doesn't hurt to know and have used every single one at least once or twice. The sooner you become familiar, the more things you'll be able to accomplish. Reflecting on my own journey with learning all of FileMaker's functions, I remembered working with a dog-eared paper manual with sticky notes popping out all over the place. T

Learning JavaScript in FileMaker

Some developers who start with FileMaker never extend beyond it. Hopefully, that's not you. Or, at least you're willing to look into learning some other languages and see how they can benefit your FileMaker solutions! In FileMaker 19 we gained both a new script step named "Perform JavaScript in Web Viewer" and a JavaScript function embedded into the Web Viewer named "FileMaker.PerformScript()". If you haven't taken the time to investigate how these new features work, then allow me to give you t
  • Create New...