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 Forms
- 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
- Webhooks
- Windows
- XML
Our Library of Videos
In the world of programming, the notion of code which breaks, especially as a solution grows and is used by an every increasing number of people, is known as 'software brittleness'. This is, obviously, something you don't want within your FileMaker solution.
What's cool about FileMaker is the fact that, by itself, the software is quite robust and flexible. You can easily develop a solution in an evolutionary way. As you learn new skills, and ways of doing things, your solution can accommodate these changes by allowing you to rename and move things around pretty easily.
FileMaker's notion of context is one of the things you really need to be worried about. If you opt to perform another script using the Perform Script step or you choose the Go To Layout step then selecting the standard options won't cause much future pain.
However, if your solution starts to use any degree of abstraction, then you need to make sure to code things defensively. When you starting using steps like Go To Layout [by Number], Set Field [by Name] and use other abstracted methods of doing things, you need to ensure your code will be up to the task.
This video is all about how to safely and defensively approach FileMaker's nuances. While the functionality was originally created for a totally different reason, the fact that it's there means we can take advantage of it.
Inside of FileMaker is one of the most powerful engines you could ever hope for. It's not even the native FileMaker calculation engine. It has almost two decades of optimization applied to it, and much of the world's most popular software takes full advantage of it. It's JavaScript - and you have access to it.
If you don't (yet) know JavaScript then you can't say "Oh, I just do FileMaker". Because doing so is the same as saying "Oh, I don't really care about solution speed."
In this video article and technique file, you'll find some of the most powerful code for accessing things FileMaker can't currently do and this extends well beyond the topic of sorting.
When it comes to sorting data, not records, there's no native 'filemaker' way of doing this. The solution is typically either FileMaker's custom functions, some creative trick with sorting records or using a plugin.
However, with the use of the readily available JavaScript, you can sort all kinds of things in all kinds of ways. This video will gently introduce you to using one of the tools you should certainly have in your mental toolbox!
FileMaker's Script Triggers can be seen as either a big help or a big hindrance. It really depends on what your experience is with them and how you've created your solutions.
If you've never really worked with Script Triggers, then you're missing a big key to the automation puzzle. If you've used them, but found they get in the way more than help, then you need this video. If you've found that sweet spot of using them and not being discouraged by their idiosyncrasies, then take advantage of the help file shown in this video.
The video and associated file cover how Script Triggers integrate into FileMaker and how to take advantage of them. Prior to FileMaker version 10, the only option for user executed scripts was through your standard button definition. With the addition of Script Triggers, interaction was extended to the general environment within FileMaker.
Moving to a layout, loading a record, hitting a key on the keyboard and many other possibilities entered the picture. Make sure you know how Script Triggers work and you'll be well on your way to making the most of any FileMaker solution you create.
Imagine driving your car without a speedometer. You still know there are laws where a ticket will cost you if you drive over a certain speed. You need information. You need to know how fast you're going. Now flip that around for FileMaker and what you need to know is how slow your scripts are running.
When it comes to creating your FileMaker solution, in particular your scripts, in many cases, you don't know how fast they're running. You just know it "takes some time", and the general approach may be "Well, it takes the time it takes" and leave it at that.
Or, you can take just a small amount of extra effort and benchmark what you've done, then try to find a faster method.
Many times, there are so many inefficiencies, that it's the developer who has caused the slowdown. Maybe the layout is the slow point, maybe it's the number of steps, maybe it's a particular combination of functions being used. You'll never know until you benchmark and compare.
That's what this video is all about. How you can benchmark your scripts and evaluate what direction to take. Right off the bat, I can tell you that using Perform Script on Server will be a huge time-saver for many of your scripts. Beyond that, there may be all kinds of optimizations you can make. What you really need is a simple way to do some benchmarking.
So, watch this video and try out the technique file - you'll be glad you did!
User navigation is one of the most fundamentally obvious features of any software solution. How easy this navigation is, is often a mix of the platform/device being used, the process flow, and what the developer knows about providing navigation based features within FileMaker.
As well, one of the most exhilarating things about developing a clean feature within your database is knowing it's a low-impact, high value feature. Something which makes life easier for users and adds that little bit of extra "coolness" to your solution.
That feeling of exhilaration was exactly what I felt when I implemented this technique for the first time. I know the users of the system will receive a lot of value, given they spend a lot of time jumping around within the same list view - especially just after performing a search.
While scrolling through a few records in list view is tolerable, it can quickly become a hassle when you have a lot of records to move through.
Fortunately, FileMaker provides some really nice features in List view when sorted by a sub-summary. Not only can you obviously use summary fields to show all kinds of aggregate information, but, FileMaker will keep the list sorted when taking actions like omitting records.
This technique of jumping through sub-summary list views is an excellent example of working with the data on screen. If you've not had the realization that if FileMaker can show the data, then you can access it, then this video is for you!
Helping users navigate your FileMaker solution is one of the primary objectives of any developer. When it comes to menu systems, you'll find everything from simple buttons on a layout to the complex use of portals and other FileMaker objects such as the newer Popover object. In this video and technique file, you'll find a clean implementation of Global variables which support an unlimited number of dynamic menus. These menus can be changed based on their count and functionality at anytime within any location inside the solution.
Using other FileMaker 13 specific features, such as the ability to hide objects, you can have a very flexible navigation system. It can obey your security and privilege access rules and change dynamically based on wherever the user is within your solution.
If your solution is limited on space and you desire the use of a horizontal menu system, then this Dynamic Menu System provides for a high degree of power.
Outside of plain text, you can't get much more standard than HTML and PDF. They're pretty much agreed up by all major operating systems and the users who use them. FileMaker certainly supports embedding PDFs within container fields and HTML is quite easily integrated into Web Viewers. Using HTML within FileMaker is one of the most flexible ways to present information.
About the only thing you could wish for, (Yes, I'm sure you could wish for a lot of things) is any easy way to convert your HTML into a PDF. Here's the cool thing, it's already been done!
Using the open source tool wkhtmltopdf, you can populate your web viewer with whatever information you wish. Need a pivot table? Need more display control for your printed Invoices than FileMaker's native Layout mode? Need to integrate information from multiple sources out on the web? Need to just attach a simple PDF to an outbound email?
You've got the solution now. This video and the provided technique file will get you up and running within a very short period of time. With FileMaker 13 and its Perform Script on Server, this solution is bound to be one of your most powerful tools available!
Working with subsets of data is an extremely common activity within a database. Automating the selection of subsets is also a common objective. In this video tutorial, the various ways to select, identify and mark a range of records is what's covered. If you've found yourself wondering what the best method for marking a range of records is, then look no further. The technique file provided and the associated video will both educate and inspire you when working on your own solutions within FileMaker Pro.
Using the common task of marking a record, the technique file provides a variety of ways to extract the identifying key values for each of the records within a sub-group. Once the key values have been acquired, you have the option of what to use them for. This can be as simple as marking the subset or adding or removing the values from a larger subset.
With the primary objective of not changing the state of the user interface, learning how to deal with similar automated processes will help you become a better FileMaker Pro developer.
Unlike other programming languages, where the database is often separate from the language used to code solution logic, FileMaker includes everything, all wrapped up into one potentially giant mess of spaghetti.
In order to avoid the often inevitable pitfalls of being overly complex, you must code your FileMaker solution with efficiency and simplification in mind. FileMaker has many places where logic can exist in. It can be on an object, in a parameter, within a script, within conditional formatting, in an auto-enter setting, and obviously within the graph and data structure.
Your primary goal of keeping things simple means you need to be aware of how a FileMaker solution can grow and your field count is one of those areas. If you can reduce the number of fields, then your solution will be easier to understand. Choosing from three items is always faster and easier than choosing from fifty. With good segmentation, clean organization and a focus on limiting the number of "things to manage", you can create a very powerful FileMaker solution which doesn't suffer from object overwhelm. That's what this video is all about.
One of the fastest ways to load records into a found set is to simply perform a Find. What becomes a bit difficult, beyond your most basic single field search, is filtering the results of what the user has specified by the requirements of the solution.
What needs to happen is a plain and simple hijacking of FileMaker's Find mode.
This can easily be done with the features provided by FileMaker Pro. You just need to know where and how to hook things up. Most intermediate to advanced users know about FileMaker's Custom Menu Sets, and that's a great place to start, but, what if there was an easier way to limit search results based on a very simple implementation which you may not have considered before?
That's what this video is all about. The features which provide you with the greatest amount of control over what happens within FileMaker's Find mode. Ever wanted to hijack FileMaker's Quick Find? You can do that too. You control what a search returns when you know how to hijack Find mode!