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
Providing users with some type of indication about where they are within the current layout is always a nice thing. People don't typically like that feeling of being lost and there are multiple ways to indicate where the user is. A simple header or label is always one of the easiest ways, but, what if you're using disconnected objects. In that case, the navigation itself can often act as the indicator.
The combination of either multiple buttons or a Button Bar, with a tab panel or slider is a very common thing within a more complex FileMaker layout. In this video, I walk through the process of adding some navigational indicators to an existing solution which is provided for free by Soliant Consulting. There's a lot to learn with regards to object management, some object naming and related trickery and making that disconnected situation between buttons and panels a connected one which will facilitate navigation that clearly indicates where you are within the layout.
There's nothing more fraught with errors than allowing a human to enter a long string of digits. Some people are detail oriented and others less so. Who cares if you transpose the seven and zero right? Well, we developers care, that's who. We need things to be user-friendly, fast and exact. That's what you get with barcodes.
Try imagining our modern world without them. It just wouldn't be the same. So, why aren't you using them whenever and wherever you can within FileMaker. Put a barcode on everything. Add them to your documents and scan them to load a specific record. Put them on your assets, add them to your employee badges, go crazy.
While FileMaker offers the very convenient Insert from Device script step for scanning barcodes within FileMaker Go, there's no native implementation for creating barcodes. Over the years, many developers have solved the issue of barcodes in many different ways. You can find plug-ins, simple fonts, FileMaker add-ons (which can be frustrating to modify) and straight-up Custom Functions which will create a barcode. By far, the most straight-forward implementation is going to be the easiest to manage and maintain and, in my opinion, that's using a simple JavaScript library which will create the most optimized format possible - an SVG. That's what this video addresses. The cleanest implementation I can think of. It's both portable and minimalistic. Need to create barcodes? You'll learn all the details in this video.
When FileMaker simply can't do what's needed natively, you resort to pulling out the old web viewer and just doing it there. Yes, learning JavaScript may be something you're resistant to - or - maybe you've fully embraced the maximum extent of the power we have access to. Either way, there are many things JavaScript can do better and all we need is to move the data back and forth between the web viewer and our fields.
When it comes to a truly natural feeling of drag and drop with lists, your only option is the web viewer and JavaScript. Fortunately, using a library named Sortable, we can easily support a very natural drag and drop experience. Sortable provide an extremely wide array of features in terms of any kind of drag and drop you might want to offer within FileMaker.
This video, and it's supporting technique file, will provide you with the starting point of how you can use Sortable within your solution in order to achieve that desired natural drag and drop experience.
It's always interesting to measure the metrics of how long something takes. Adding automation to a process not only saves time, but makes it less mentally taxing. This increases the sense of accomplishment and can make the process itself more gratifying.
I remember being at an amusement park and showing my kids how to measure the amount of time they might be in line by counting the amount of time it took between each time a roller coaster pulled in and how many people it accommodated. By then counting how many people were in line before them, they would know approximately how long they would be waiting.
This same type of thought process can be applied to any routine task within FileMaker. With the knowledge of the tools available, you can likely automate that task such that you reduce the total time it takes. That's the bulk of what we're doing when we're making software - simply reducing the amount of time it takes to do things.
In this video, I walk through the process of automating text capture from either a PDF or image files. FileMaker has built-in features on the Macintosh and it can certainly be accomplished within Windows as well. If there's anytime you're working with a PDF, PNG or JPG, then let's learn about the tools we have for automating the capture of data.
Global fields in FileMaker Pro are a staple of how you define what your user interface can do. Without global fields, your ability to present variable scenarios of data is almost impossible - or - at least, unrealistic. You would be limited to using calculated fields and/or extra data fields, and this can make things really slow, REALLY quick.
Global fields are the linchpin to makings things work well, as desired and efficiently within your FileMaker UI. Without knowing how to take advantage of global fields, your UI/UX abilities suffer.
In this video, we take a look at some of the most critical uses for global fields for common core functionality. From creating related records, to showing whatever data you need to present, it's critical you take advantage of global fields. There are also situations where your current data model simply won't allow you to present the data you want to show. However, using global fields you can create "temporary" relationships to the data you need to present to the user. This video and technique file will deliver some of the critical know-how.
Living the 100% FileMaker native life is certainly possible, but can be seriously limiting when it comes to all the things possible with various other technologies. JavaScript, as one of the predominant languages used across the Internet and beyond, is quickly becoming a must-know for every serious FileMaker developer.
In this video I showcase using the MBS plug-in in order to take advantage of the VERY WIDE world of JavaScript libraries and doing it without the Web Viewer. FileMaker's Web Viewer, while providing a full runtime WebKit engine, is a bit of a liability in certain situations. Because of the Web Viewer's caching, especially if your script does any moving around between records and/or layouts, you have to be extra cautious about how you implement the use of a Web Viewer for running JavaScript. If you're not careful, you won't get the reliable results you might expect as opposed to simply executing plain old JavaScript.
The solution to finicky Web Viewer execution is to take advantage of the JavaScript offered by a plug-in. The most comprehensive plug-in regarding JavaScript is the MBS plug-in. If you've never used its raw JavaScript power, then you're in for a great surprise of how easy it can be and this video will guide you towards taking full advantage of what it has to offer!
Thank goodness JSON was implemented within FileMaker. Without it, we would still be using a variety of other methods for handling multiple parameters within a FileMaker script. Using JSON, we now get the double-sided benefit of 1) having an efficient serialization of key/value pairs as inbound parameters and 2) it just happens to be the standard which most of the rest of world is using for a large chunk of how things interoperate.
In this video, and the technique file, I'll showcase a few examples of how you can receive and work with inbound parameters when using JSON as the method for handling them. We discuss script results, clean-reading code and the final example provides a very useful custom function for the auto-instantiation of JSON-based script parameters into their FileMaker scripting counterparts.
Using the provided JSONVariables custom function is a great alternative to individually parsing all of the inbound parameters. It doesn't replace the need to initially declare your variables, but it does provide the opportunity to have cleaner reading self-documenting code. If you've not used JSON for handling your parameters before, then you should start right now and use this video and file as guidance!
Once you've repeated the same thing within FileMaker more than a dozen times, you often realize you should really be using a Utility script. A utility script is something which allows you to focus more on the unique solution and less on the routine things you end up doing over and over again.
In this video we take a look at 10 killer utility scripts. These vary from a simple copy field routine to a very useful related record creation routine. Do you find yourself often needing to toggle values within number and text fields? Probably, and there are utility scripts for that!
When it comes to using mapping technologies within FileMaker, you've most likely heard about using Google Maps API within a web viewer. Maybe you even know about Bing Maps, Mapbox or even the popular OpenStreetMap.org. The biggest issue with all of these mapping APIs is you'll have to first understand the API in order to achieve your desired result, and then you'll have to jump through the hurdles of authentication as well. It's not as easy as a simple plug-n-play solution.
While authentication isn't really that big of a deal, it's not as simple as pointing to a layout object, then having a map instantly appear on screen where you can immediately start interacting with it and collection data. With the MBS plug-in, you can achieve near instant results because all of the hard work has been taken care of for you.
If you're using FileMaker on a Macintosh, or you're willing to invest in creating an iOS SDK app, then MapKit may very well be the instantly invaluable tool for your mapping solutions. In this video I cover how I'm using MapKit features of the MBS plug-in and how useful they can truly be. If you need to quickly add mapping to any solution which will be used on the Macintosh side of things, then the MBS plug-in and MapKit is an absolute no brainer.
Having created recent videos about accessing APIs via REST, and extracting the free JSON data as well, it would be a glaring omission if I didn't address our need to manipulate the JSON FileMaker provides us with. Yes, the work to put your FileMaker data into structured JSON has already been done. But, the JSON you need for your designated API is always going to be different than that.
Fortunately, we have access to the amazingly powerful and fast JavaScript engine built into each and every Web Viewer. What we need to capitalize on are the free open source libraries which help us get the results we need.
JSONata is a long standing powerhouse when it comes to manipulating JSON within JavaScript. Updates as recently as two years ago, to the eight year old library, moved it from a more linear synchronous model to an async model. This means we need to learn a bit about JavaScript promises and how we can use JSONata's own tools to easily manipulate our FileMaker JSON into what's needed. This video and the associated technique file will provide you with the tools which will help accomplish the integrations you're trying to solve.