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 many situations, you'd think the easiest solution would be the best. Saving time and getting the job done quickly. This, however, just isn't the case if you're going to allow users to use a simple text field for managing keywords or tags. A tagging system relies on making it easy for the user, but it may not be so easy to implement itself. Here are a few questions you might be faced with.
What happens when one user enters "devloper" on record 1 and another user enters the correctly spelled "developer" on record 2? How do you make it easy to rapidly enter multiple keywords with a high degree of accuracy? What about removing keywords from this simple text field? Does the user just get to remove any portion of a whole word - causing a data nightmare? What about those commas being used to separate the keywords? Do you really trust users to get it right all the time? Can users be trusted to add multi-word keywords and get the commas correct?
The answer to all of those questions comes down to you. As the developer controlling the situation, you get to make sure the data is entered as desired and is still easy for the end user. And, in that case, the system is going to be a bit more complex than using a simple text field to allow users to enter whatever they want.
The video and technique file for this topic showcase a wonderful system of being able to enter and remove keywords used for data segmentation. If you've implemented a tagging system prior, then make sure and take a look at this one because you may find some UI niceness that's just too good to pass up!
When talking about logging, error handling and writing clean code it's never quite as exciting as working on the key features of your solution. Adding in the "cool" stuff and simply making things work is way more fun.
Yet, one of the main things you rely on when developing is information from users and from your software itself. If you don't capture any of that helpful information, then you're essentially developing in the dark. You'll get obscure support requests like "It doesn't work." which is... Oh so helpful - isn't it?
So, one of the core things you should add to pretty much any system is a method of both logging and error handling. While an error log sounds like something you should certainly have, you'll want to separate the two and have your errors simply be captured into your logging system. On the flip side, you can use your logging system to capture quite literally anything you might want to track within your system.
In the associated video and technique file, you'll learn about a simple set of tools which will help you both easily and quickly capture information about your system, your users and anything else you want. All into a clean and simple logging system.
Causing a user to make an explicit choice within your software really only happens from some sort of "locked-in" process. This process most typically happens within the form of a dialog box. It's the one roadblock you can stick in front of a user and expect input. Your software then uses that input to determine the output or direction.
While FileMaker Pro does have its own native dialog box, there are some limitations to the native Show Custom Dialog script step. The number one limitation is the lack of control with regards to size and positioning. Aside from that, the dialog box is pretty fixed in terms of how it looks and what it does.
Actually, the limitations on a dialog box are a good thing. It creates a sense of consistency across the whole notion of software itself. Users have seen dialog boxes and interacted with them. They know what they do and how to react to them. So, in order to gain a bit more control and flexibility, we use our own layouts to provide our own variation of a dialog box.
By using a FileMaker layout, we get to control how it looks and reacts to certain situations. This video and technique file revisits an early version which was released when Card Windows had just come out. If you enjoy using powerful and efficient methods of enforcing that "locked-in" process, then make sure to check this one out!
Who doesn't want their software to perform as efficiently and as quickly as possible. Don't we always want things to go faster and work better?
Of course we do. The problem is, we don't always take the time to fully think out what is happening when we solve a problem. Sometimes, we just robot our way through the code we are creating because it's how we've always done it - and it's easy or faster.
Being an "efficiency nut", when it comes to code, is something I really enjoy. It represents the fact that you have a reduced amount of code to accomplish the same thing that previously had more. Less code means less to maintain. Less code can also mean more performant.
In this video, I walk through a recent example of showing how a particular solution could be simplified. It's an example that plays out in the software world many times over. Most importantly, it represents what is the compounding effects of not taking the time to think out the most efficient solution. If and easiest to maintain, fastest performing solution is what you're after, then you may find a tip or two within this video about Assessing Performance.
Even though your "database" includes the word "data", data isn't the only thing we categorize and track. We often need to track discrete files and FileMaker is perfectly adept at doing this. In fact, FileMaker's container field is ideally suited to store all kinds of different files.
The problem, however, is simply throwing a container field onto your layout is never really a good idea. If you allow users to simply drop anything into a container, then you'll surely end up with a collection of duplicate files and files which may not even need to be in the database.
The best method for properly managing uploaded files is to make sure you control what gets in and how it gets in. This isn't going to be handled with your simple addition of a container field to the same table tracking your contact information. This is best suited with a couple of gateway keepers. Filtering based on extensions and preventing duplicates are two methods you implement into a highly optimized uploading method.
In the associated video and technique file you'll have access to all the instruction and code needed to start you on the path to implementing the proper and ideal way for managing file uploads into a FileMaker database solution.
Like many things in life, there are multiple ways to solve a problem. It all comes down to what methods you're familiar with. If you only know one of the possible options, then that one method may limit you in terms of performance or efficiency.
In this video, we'll take a look at just a few of the possible methods of filtering data within FileMaker. The default, most accessible option, may be worth while if you've already got a working relationship. But, what about when you need to present the user with some options not currently in your data model? How do pick which one is best for any given situation?
Well, stick around and check out the video and file we provide you with and you'll be well on your way to making the best informed decisions about filtering data within your FileMaker solution.
Ahhh, the panacea of being able to improve my FileMaker database offline, then simply applying all the dev changes to the live production file. This is the great promise of the new FMUpgradeTool. It was released along with FileMaker 19 and it's a bit hard to dig into. Unless, you have the time like I did.
Fortunately, I'm going to save you the many hours of slogging through the documentation and the trial-n-error which comes with learning any new tech.
In this video, I spend an ample amount of time covering the FMUpgradeTool and how it might impact us in the future. I'd gather that, like Add-ons, the "preview" nature of this tool means that Claris hasn't been able to complete out their vision - at least not when it comes to documentation. The good thing, however, is we get to see what's coming and the tool can currently be used for small micro changes and the like. It certainly will need to be put through its paces and we'll have a lot of opportunity to do that when the time comes.
For right now, the process of making a FileMaker patch is pretty manual and will need to be automated by either Claris or a third party. Claris has seen what's been done with their XML in the past, primarily by companies who choose to make analytical tools, so, it makes sense that they'd love to see something which automates the creation of a complete FileMaker patch.
If learning about FileMaker's guts is something you're into, or checking out what the future might be like, then give this video your undivided attention. You'll gain a lot of insight about what these new tools will be doing behind the scenes!
One of the great things about FileMaker Pro is it starts you off with a completely blank slate. One of the bad things about FileMaker Pro is it starts you off with a completely blank slate.
Yep, that's right, there are things in FileMaker's UI which non-intentionally urge you to do things which may not be as helpful in the future. Of course, some of this comes down to learning as much as you can about how things work. Which, is likely why you'll be watching this video.
In this episode, we take a look at FileMaker's themes and styles and how they relate to the Default styles which all layout objects start from. FileMaker defaults to the Default styles and that may not be the best way to start a new layout design. In this video, I answer the question about using the Defaults for your actual design and what you may be missing if you choose to use the Default style within your layouts. Want the most leverage possible? Well, you may need to stop using the Default styles - sort of.
These days, the future of FileMaker's flexibility is being created right in front of our eyes. While it's a relatively quiet feature right now, FileMaker Add-ons may blossom into a very beneficial way of enhancing a FileMaker file. True, there are a few rough edges in this preview version of Add-ons, but it's definitely going to be a killer feature if it takes off.
Because Claris has been expanding the definition of a FileMaker file within the world of XML, the ability to modify and/or enhance a FileMaker solution will be GREATLY expanded. This comes in the form of Add-ons and the ability to update an existing solution with new features by simply "patching" a FileMaker file.
In this video, I walk through what's available as of the FileMaker 19 release. As a preview of an intended feature, the future looks really cool. While Claris hasn't released any official Add-ons as of the release of this article, there's no doubt that developers will be gearing up to provide feature-rich add-ons that any FileMaker user can quickly add to their own solutions. If you'd like to be one of the developers who knows what's going on behind the scenes, and know how to create your own Add-ons, then you'll find all the info you need within this video.
Without a fundamental understanding of some programming topics, it's often difficult to solve certain problems in the easiest possible fashion. In fact, one of the things I've enjoyed learning about programming is that more code isn't always better. Searching for the simple answer sometimes takes a bit more time. And, learning to solve the problem with less code is more enjoyable.
In this video, I walk through a simple process of massaging some data into a desired format. While the objective often seems simple, the solution isn't always obvious. Especially, if you haven't been programming for good amount of time. There's also those hidden tips or tricks which you don't really know about until you've invested the time into improving your craft.
I remember learning about writing loops in FileMaker and feeling the sense of power that comes with any type of data processing. To this day, most of programming comes down to looking for a pattern and then processing that pattern in some fashion. Usually, with a loop. As the seasons cycle and the fields wither and then return, such is the way of software. You find the pattern and process it with a loop.