Article Tags
Click or tap one of the article tags to filter down to a smaller selection.
- Accounts
- Add-ons
- AI
- Alerts
- Analysis
- APIs
- Apple Maps
- Auto-Enter
- Barcodes
- Base64
- BaseElements Plugin
- bBox
- Breadcrumbs
- Button Bars
- Caching
- Calculations
- Calendars
- Card Windows
- Charting
- Checkboxes
- Code Editing
- Code testing
- Coding
- Color Picker
- Colors
- Conditional Formatting
- Containers
- Context Management
- Cropping
- Crypto
- CSV
- cURL
- Custom Functions
- Custom Menus
- Data API
- Data Capture
- Data processing
- Data structure
- Data Viewer
- Date Ranges
- Dates
- Debugging
- Deployment
- Developer Tools
- Dialog Boxes
- Docker
- Drag-n-Drop
- Drop-down List
- Dropbox
- Duplicates
- Duplicating records
- Encryption
- Error handling
- Events
- Excel
- ExecuteSQL
- Exporting
- External Authentication
- External Files
- Field Formatting
- Field Storage
- Fields
- File IO
- File Management
- File Sharing
- FileMaker Go
- FileMaker Server
- FileMaker Settings
- Filtering
- Find & Replace
- Find Mode
- Found Sets
- Functions
- Fundamentals
- Global Fields
- Global Variables
- Google Maps
- Google Services
- Graphics
- Grid
- Grouping
- Hierarchies
- Highlighting
- Icons
- Images
- Importing
- Indicators
- Inspector palette
- iOS
- Java/Groovy
- JavaScript
- Join Tables
- JSON
- Key fields
- Layout Design
- Layout Mode
- Layout Parts
- List function
- Logging
- Looping
- Mapping
- Marking Records
- Media Storage
- Menus
- Merge fields
- Messaging
- Microsoft Surface
- Mobile design
- MonkeyBread plug-in
- Multi-key fields
- Multi-option fields
- Naming Conventions
- Navigation
- New Release
- Node-RED
- Notifications
- Oauth
- Object management
- OCR
- OnGestureTap
- OnLayoutKeystroke
- OnObjectKeystroke
- Parsing HTML
- Perform Script on Server
- Performance
- Permissions
- Photo manipulation
- Pickers
- Pivot tables
- Pop-ups
- Popovers
- Portals
- Preferences
- Printing
- Privilege sets
- Product review
- Productivity
- Progress Bars
- PSOS
- Python
- Quick Find
- Record Locking
- Regex
- Relationship Graph
- Reporting
- REST
- Sankey
- Schema
- Script Parameters
- Script Triggers
- Scripting
- ScriptMaster
- SDK
- Searching
- Security
- Separation Model
- Set Variable
- Settings
- Shortcuts
- Sliders
- Snapshot Links
- Sorting
- Spelling
- Spreadsheets
- Startup
- Summary Fields
- SVG
- Syntax
- Syntax Highlighting
- Tab Controls
- Table View
- Tagging
- Terminology
- Text Parsing
- Themes
- Time fields
- Time Savings
- Tips
- Tools
- Transactions
- Tricks
- Twilio
- UI
- Updating
- User Interface
- Validations
- Value Lists
- vCalendar
- Virtual list
- Web Forms
- Web Scraping
- Web Services
- Web Viewers
- Windows
- XML
Our Library of Videos
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 features with newer ones and end up with something entirely new and cool. That's what happens in this video and technique file. By using JSON with one of those somewhat hidden features, we can solve an age old problem of having field specific information available to the whole solution - and we only need to manage it within one location, which happens to be specific to the field itself. It's one situation where having tightly coupled data is exactly what you're looking for!
In this video we'll take a look at how a well structured format like JSON can benefit us in a wide variety of ways. By addressing the need for supporting multi-lingual field labels, we are just touching the tip of the iceberg with this creative solution.
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 video from 2020, then you'll find a link to that one below. There are certainly some similar aspects, but we've got some new features and functionality added in. This one is certainly worth the watch.
Like the previous versions, this solution has both error handling and logging included. You'll also find some creative solutions to replicating the exact user environment from when an error occurred for a client. One of the biggest benefits of using a server-based logging system is that you can more easily troubleshoot those harder Perform Script on Server processes. For the benefit of knowing what your solutions' users and scripts are doing, it's highly suggested you take advantage of this wonderful logging system.
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 with FileMaker communication in the last few years. It's a night and day situation compared to just 5 years ago. There are, however, situations where you have to hear about a particular feature from a close parter like Soliant. Even Claris themselves didn't publicize the fact that FileMaker Server 19.5 supported Perform Script on Server - running on Server - via a flag named SupportNestedPSOS. Go ahead, search for it in Google. You won't find it anywhere on any of the Claris sites (at least as of the posting this article).
Which brings me to technical issues and possible bugs. Unless you frequent the Claris Community forums, it's unlikely you've heard about the 9 year issue of FileMaker being a total hog when it comes to memory allocation for certain functions. All credit goes to Alex Zueiv for this long running discovery. At this stage, it may be known and intentional by Claris, but it certainly is an eye opener. So much so that I decided to make this video to increase awareness. Like you, I like my software to run as efficiently as possible and workarounds, hacks, what have you, I'm going to take advantage of the findings because with software, that's just what you do. You optimized until it's as good as it can be!
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 cool JavaScript library on a range of records. Creating a QR code for a collection of records. Just a few hundred or a few thousand is all you need.
There's a few problems with this situation however. One of them is that you MUST know how the FileMaker.PerformScript() function behaves within a Web Viewer. If it's not ready to go, then you'll get an error (which you can't even see unless you use a JavaScript debugger). The second issue is that FileMaker will simply stack any script calls until you get to the last record of a record loop and then execute them all on the last record. This is why you need to know the two critical things which must be set for successful loop based JavaScript use with a web viewer. Fortunately, we'll walk you through these critical issues and show you everything you need to keep in mind for using JavaScript, a Web Viewer and a Record Loop.
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's probably from the heavy use of the good old dot matrix printer days. PCL, however, is used for more than just dot matrix printers.
The great thing about ANY structured content is that you can easily parse and extract exactly what you need from it - so long as you decipher the formatting. PCL, CSV, HTML and JSON - they're all just structured data. This video and its associated file is all about parsing a fixed field length PCL file.
It's a collection of scripts and information about how to go about dynamically parsing a well structured PCL based text file. So, if you're doing development for a business or educational institution, which still only provides PCL output, and you want a clean way to parse the data into your FileMaker solution, then you'll find everything you need to do so successfully and flexibly within the provided file and video.
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 easy to maintain. Using a portal to accomplish this is an obvious solution. But what about making the portal vary the navigational options based on the logged in user?
This can be done when you marry FileMaker's native security controls with the values shown within a portal. In this video, we walk through a "build it with me" approach to implementing this exact feature. Setting up a navigational sidebar menu system which responds to the user who's logged in. This system can either be a bit more general or as granular as desired.
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 powerful method of searching which will satisfy most users' needs.
In this video you'll find a step-by-step approach to using the two primary forms of searching FileMaker data. First, we start with maximizing Quick Find and then move on to using FileMaker's Query By Form method of searching for data.
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 don't always want the user to use a mouse to navigate your Button Bars. So, if your solution has any use for Button Bars, which allow a user to navigate to various areas, be it Layouts, Sliders or Tabs, then give this video and its associated technique file a good look over!
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 while simply creating a game tracking database for managing a hobby sport of mine. Pickleball is a fast-growing sport which seemingly sits right between tennis and table tennis (ping pong). I wanted my own solution to manage some games and decided to take a few hours to create the needed structure. Yeah, there's software out there, but I really like that "full control" feeling.
The solution developed quickly and I saved versions of the file as I went along. The benefit of your time investment in this video is, hopefully, a good explanation of how to approach the process of structuring and presenting your data. Along the way you may pickup some useful tips which may help your current and future database systems.