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
In the world of programming, there are various concepts you need to understand in order to create software which is both functional and resilient. Maintaining that code may be another challenge, but if you don't learn about exception handling and determining if your processes truly succeed or fail based on expectations, you risk inviting more errors and failures than you might anticipate.
In this video, we'll cover several critical aspects of a FileMaker database solution. Yes, FileMaker Pro is intended to be an "easy-to-use" or "low-code" platform. While it certainly presents itself as low code, that's only the beginning. Solving the problem is just the start; learning about exception handling, transactional data interactions, and the all-important try/catch pattern is essential. However, FileMaker doesn't offer the common try/catch option.
So, what's the alternative if we don't have try/catch? Well, we make use of the Loop script step because it allows for multiple Exit Loop If[] conditions. This, in essence, is where we can creatively use and even "abuse" our old friend, the Loop script step.
If you've never used the Loop step to handle multiple errors while solving a complex process, this video should clarify a lot about how to approach it. Along the way, we'll also cover some valuable insights related to the recent transaction steps introduced in newer versions of FileMaker Pro.
Be sure to use the link below if you're interested in purchasing! There may be unexpired discount codes available.
Being more productive when developing in FileMaker is something that will always pay off. You’ll create solutions faster and feel better about how quickly you can solve problems.
Due to the unique environment in which we write code, there are concepts other developers have access to that we don’t. We’re not using a standard text editor with modules and plug-ins to extend its functionality. In FileMaker, we rely on a few third-party plug-ins and tools to enhance the development experience.
In this video, I’ve invited Robert Naud and Josh Halpern to demonstrate Typinator from Ergonis Software. It’s a powerful tool that can handle all sorts of tasks involving the OS clipboard and FileMaker. Since FileMaker uses a dedicated clipboard format, which is primarily XML, you need to translate that XML into the normal text you work with. Typinator makes this possible. You can automatically inject script steps, layout objects, custom functions, and almost anything transferable via the clipboard. By combining AppleScript and/or JavaScript with a few command line tools, you can work in FileMaker with auto-expansions that make your job much easier!
PDFs have become the digital equivalent of what was once printed on paper and will likely remain in use for a long time. They offer an easy way to present structured information, and FileMaker simplifies PDF generation by allowing you to save your layout's design as a PDF.
However, there are times when simply exporting FileMaker data to a PDF isn't enough — you may need to populate an existing PDF with data. The challenge can be getting your FileMaker data into a copy of the PDF. While there are external tools and plugins that help with this, there have been few native client-side solutions until recent years. To make this possible, we can leverage FileMaker's Web Viewer and its integration with a JavaScript library.
In this video, I'll show you how to populate a form-fillable PDF with data from your FileMaker solution using a Web Viewer, a JavaScript library, custom code, and any existing PDF form. Once you understand the basics of how a PDF reports its fields and types, inserting data into a PDF becomes straightforward. Mastering this integration will give you the ability to work with your own PDFs, and in some cases, you may find that creating a fillable PDF template is more efficient than exporting a PDF directly from a FileMaker layout.
If you're developing in FileMaker and haven't invested time in learning and using JSON, you're at a significant disadvantage. JSON is not difficult to learn, and it's used in so many areas of modern development that it's crucial to get familiar with it if you haven't already.
In this video, I begin with the basics of JSON and its implementation within FileMaker. Once you start using it, you'll find it's valuable for much more than just passing parameters. While passing parameters is one of the most common use cases — allowing you to pass multiple values easily — JSON also supports a wide range of applications, from creating UI features to saving the state of tabs, layouts, user preferences, and even capturing metadata about your stored data.
Additionally, many advanced FileMaker features, like web viewers, rely on JavaScript and JSON for functionality. As you explore data exchange between applications, you'll see JSON frequently in modern APIs as well.
Make sure to take full advantage of this multi-part video series, where I'll cover the various ways you can leverage JSON within FileMaker. This knowledge will significantly expand what you can do with the platform.
InspectorPro 8 offered by Beezwax, and created by Vincenzo Menanno and Brendan Pierce takes advantage of the newer Save a Copy As XML feature of FileMaker. This new version of the "Enhanced DDR" provides great insights into team development and the growth and changes of a FileMaker solution.
In this video Vince walks me through the process of installing InspectorPro 8. The features it provides will be quite valuable to any developer who wants to have a solid understanding of your FileMaker solutions.
DISCOUNT!! Make sure to take advantage of a special offer until the end of 2024 by using the code 'filemakermagazine' (without quotes) if you're heading towards a purchase.
Over the years, I've met a wide range of developers. Just like the variety of clothing styles you'll see at any popular concert, there are potentially just as many different programming styles. The usefulness, however, of development standards is equivalent to the simplicity of a stoplight. If we can all agree on one thing, then that one thing can benefit everyone who uses it.
When you consider this statement in light of FileMaker's available Global Variables, it's hard to agree on the decision of whether to use them or not. Maybe you like using a global variable temporarily across scripts — even though some might consider that approach problematic. Maybe you avoid using Global Variables because a trusted source once told you never to use them. Or perhaps you're one of those tidy developers who just can't stand the sight of them within the Data Viewer.
Whatever your stance, there are definitely times when using a Global Variable is beneficial. The scope of a variable is a concept familiar to pretty much every programming language. A globally scoped variable is valuable only as long as you can trust it. In this video, I present a method for using FileMaker's Global Variables that provides an extremely high degree of confidence in their use. We create a system where the variable is modified in one place only, making for a solution which is much easier to modify and maintain.
One of FileMaker's most advantageous tools added in recent years is the Button Bar. It was the first way to present dynamic, calculated content directly on the screen. This removed the need for the decades-long practice of adding "yet another unstored calculation field." You can calculate something and render it right on the screen.
Then, in FileMaker 20, we got a new layout object called Layout Calculations. While these now provide the same functionality as a Button Bar, they do so without the overhead of unnecessary behind-the-scenes CSS and other extras. However, they are not fully implemented; they don't update any of their calculation references. While this will eventually be fixed, there are unique uses for Layout Calculations that allow for some really cool features—like Render Fields.
In this video, we take a look at generating temporary images for the purpose of PDF generation, which then cease to exist after the script finishes running. These Render Fields can be 100% dynamic on a record-by-record basis and can display whatever you want using an unstored field to show the result. This allows you to multi-purpose a field for multiple layouts. Let's take a look at what Render Fields can provide for your FileMaker solution.
FileMaker's script triggers can be problematic if you don't properly test and debug the user interaction flow. Some developers, perhaps even yourself, avoid script triggers for this reason.
However, script triggers can be incredibly useful. Unlike JavaScript in the Web Viewer or other environments (anyone remember HyperCard or Adobe Flash?), which have numerous possible events, FileMaker offers a limited set of events called Script Triggers.
One of the best aspects of Script Triggers is that they are linked to specific objects, areas, or actions. This differs from writing scripts that must handle various conditions and situations. With Script Triggers, you can make a particular area of FileMaker function autonomously, handling its own tasks. The first step to feeling comfortable with Script Triggers is learning how to manage them when you don't want them to execute.
In this video, I revisit a database created in 2010, which remains valuable for learning what Script Triggers can do. Let's walk through a concrete example of how you can rethink your use of Script Triggers.
Our world of software development is changing rapidly! With AI influencing the way we develop, it becomes increasingly important for developers to become informed about the tools which help them become more efficient.
Fortunately, we still live in a world where people have to coordinate and organize code. Even if AI can create near-flawless code in some cases, it doesn't create the ideas. Humans are the creative force. Whether you're using a simple Find & Replace to refactor some functions, or having AI create your next powerful JavaScript for your killer Web Viewer interactions, you still need to know about your available tools.
In this video, I walk you through a recent revision to an older tool I had been using to ease the amount of typing I have to do when using JSON as the parameter passing method within FileMaker scripts or when interacting with an API or anything else that uses JSON. No joke, the content in this video and the associated technique file can save you literally hundreds of hours when used effectively. I'll show you how.
Expanding on a recently released article about Incredibly Easy Menus, which used a Card Window and showcased minimal use of popovers, I've now created a new dedicated setup specifically for use with popovers. Using this method, you can implement the technique and manage your solution-wide popovers from a single location for code. Solution maintenance becomes vastly simplified with this approach.
Remember, our goal as developers is to create DRY (Don't Repeat Yourself) code. This is exactly what this technique achieves. It creates DRY code for the various popovers you'll be using within your solution.
While some degree of context may apply to your popover menus, you can always account for context within the code and adjust as needed. If all the code is in one place, then your job just got easier.