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
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.
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.