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
JSON, JSON, JSON! If you haven't gotten used to it yet, you'd better start. It's the way you communicate with the web. It's the structure that's winning. XML is too verbose, and .tab and .csv aren't always clear enough.
So, what are some of the ways you can create JSON within FileMaker? Here are just a few:
1. Create a calculated field of it.
2. Use ExecuteSQL() to return it.
3. Use Execute FileMaker Data API [ ].
4. Write a looping script.
5. Or... you can just export it.
This last method is often the most optimal for getting your data into the JSON format to meet whatever requirements you may have. You can further modify this JSON using a variety of tools to achieve the perfect result.
In this video, and the associated technique file, I provide the knowledge and code necessary to simply export your data as JSON and be done with it. No matter what you need and where you need it, you can use multiple exports from however many tables desired to end up with the needed JSON result.
While some of the excitement around AI deals with using the technology within your FileMaker solution, it's likely that, as a developer, you should be more excited about how AI changes what you do as a developer.
In fact, it's theorized that the occupation of being a developer will be one of the careers most affected by AI. So, what do you do while we wait and see if this is truly the case? Well, you use AI, of course!
If you haven't yet dipped your toes into the world of using AI to compose some of the code you need, then make sure not to get left behind. You ABSOLUTELY need to investigate how AI changes how you develop. In my own personal experience, I've likely saved a ton of time by having AI write my code for me. The advantage of a developer who already knows code and can take advantage of AI is that they are better developers than those just starting out with no background in coding.
Yes, maybe AI results will eventually become nearly perfect, such that dictating a prompt to create a solution requires no existing knowledge of code. However, any existing knowledge makes you a better composing developer than someone with no knowledge at all.
Here's the trick: You need to know how to take advantage of the tools available, and this video is going to provide the introduction you need in order to make things much faster when coding your FileMaker solution.
If there's one thing you shouldn't ignore from the start of any FileMaker solution, it's the way security is going to factor into your creation. You need to know who the users and groups are and what their access rights are. These access rights are called privilege sets within FileMaker.
All too often, security may be an afterthought because most of the fun typically lies in creating solutions to the problems. The real trick is to create the solution to the problem while simultaneously considering how security wraps around that problem.
Unfortunately, with FileMaker being such a flexible platform, testing those access rights is not obviously easy. We have one simple way of testing one privilege set versus another: logging out of the system and then logging back in as another user. This process, while critical, can seem like a hassle, so it's often deferred. With the information in the associated video and technique file, you'll enjoy learning about a very easy-to-use system that allows for testing things quite easily. The solution simply takes advantage of part of how FileMaker works after the authentication process. Need to up your security game within FileMaker? You're sure to find some answers within this solution.
Companies release new versions of software all the time. One of the issues we may face as developers is that not everything is documented and the "marketing spin" might not provide all the technical details. In this video I showcase how I go about the process by performing and ad hoc discover of some of the new features in the Claris FileMaker 2024 release.
Over one's development career, you'll come across a number of people who "think" they know how something really works. You then proceed to show them some of the cool things they can really do, like a "context jump" within FileMaker. You then smile at their surprise, because what they thought was possible isn't even the start of it.
If you don't even know about, or truly understand, FileMaker's ability to jump from one context to another, then you're missing a critical piece to the FileMaker puzzle. It's one of the ways you break down a complex solution into a more digestible division of smaller parts. This not only makes the Relationship Graph potentially more understandable, but may make your solution more performant.
There are, however, a few big issues you must address as your FileMaker solution becomes more and more complex. One of these is protecting your code against itself. Certain script steps like Delete Record, Delete All Records and Replace Field Contents can have severe consequences. Especially, if performed without confirmation. And even then, accidental clicks is certainly a thing! In order feel really comfortable about using these types of actions you can always "protect" your code from doing the wrong thing in the wrong place. This where you implement either Layout or Context specific checking. This can easily be done when you know how to use FileMaker's internal ID values.
User interface related topics are always exciting when they work really well within FileMaker. Regarding non-modal status updates, e.g. showing the user what happened or is happening, we have a few options we can use. The most simple is to toggle a value which uses a hide calculation to show/hide a given object on the layout and refresh its visibility.
When you extend this notion a good bit further, you can come up with one of the most creatives uses of many hide calculations to take advantage of a popover and slider combined to provide a very cool Status Message tool which can be leveraged solution wide. Add some sounds, a gradient, a little shadow, some styled text and things go from your basic meh to STELLAR!
In the technique and video for this particular topic I showcase the use of a variety of features in FileMaker which compliment your humble hide calculation. The easy-to-copy-paste Status Message script folder and layout object means you have a world class non-modal notification method within your file in very short time. To add to this, I've included some conversions I've made of some super valuable SVG spinners which make the solution just that much more valuable!
Spreadsheets really suck!... Long live spreadsheets, they're super useful! This simple contradiction, however, is likely a part of our technological lives for the rest of time. Unless AI removes the need for people to directly interact with data, spreadsheets are likely here to stay. And, for good reason. They're actually super useful!
As a software/database developer you need to realize that not everyone intuitively understands the solution you've created. In fact, the learning curve, may just be too painful - at least relative to what they may already know. Most users will tend to default to what they feel comfortable with. In the not so distant past, managing data was actually just words on paper. In fact, there's a word you're probably familiar with, it's 'list' - a very common development term. Yep, we still use lists.
Did you notice that? I referenced the fact that you're developing software and you can't really create software WITHOUT using lists. So, why not simply accommodate users' needs to simply default to using a spreadsheet. You just need a simple way to get the data in and out of your solution. Fortunately, this has all been solved by the tab and comma characters. If your users are using a lot of spreadsheets, then enjoy this video article and the associated technique file as we work with the MBS plug-in's super powerful Matrix.* suite of functions for some super functionality. Let's just Copy/Paste that spreadsheet data into a virtual spreadsheet and manipulate the data to fit our needs.
Just because you can click the Create button to add a new container field doesn't mean you should do it. In fact, you might want to consider never adding a single container field to your main solution's tables. "Really?", you ask. Yes, because there are many advantages to segmenting a solution into multiple distinct parts. Most media, images, video and audio, is considered "heavy data" and that data comes with a big cost.
It may be that you're unfamiliar with how you can best structure your data within FileMaker. With images, you're often better served by handling that data in a very specific and dedicated way. This video, and the associated technique file, shows you how to approach the situation of handling images. It also addresses the display of those images. For the sake of images, you certainly need to see the image for the value it provides. However, you rarely need to transfer the full image which was captured or imported.
Watch this video in order to gain a full understanding of how it may be best to both store and view your images within a FileMaker solution.
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.