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
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.
Traditionally, performance in computing has revolved around the optimization of bits and bytes — how many can be saved and how efficiently a task can be accomplished. This principle dates back to the era of computers with only a handful of kilobytes of memory, where maximizing efficiency was critical. Fast forward to today, and the same principle holds true. Despite various ways of achieving the same outcome, the ultimate question end-users continue to ask is: 'Can you make it go faster?'
Enter Perform Script on Server (PSOS), a realm where speed becomes almost a certainty. Here, actions occur where the data is stored, eliminating unnecessary back-and-forth between client and server, with the resulting communication involving updating the client's user interface. PSOS becomes particularly advantageous when a client, perhaps viewing a single record, triggers an action which impacts a significant number of records — say, 20,000. In such cases, leveraging PSOS is imperative.
The challenge with PSOS lies in its somewhat invisible nature, requiring troubleshooting and debugging skills to fully grasp. Equally critical is the task of restoring the current client's context, comprising two essential components: the layout (base table and pertinent relationships) and the found set of records. Thankfully, FileMaker offers a built-in mechanism to handle context restoration.
This video, accompanied by a supporting technique file, equips you with two invaluable scripts — one for obtaining and the other for restoring server-side context. Let's learn how to harness the power of PSOS efficiently and restore some context!
When it comes to programming, there's always more to learn and share. If you've worked with REST APIs in the past, then you may have already devised your perfect system. If not, then this video will showcase a freely available script which you might want to consider first before trying to solve the problem yourself.
In our ever expanding world of coding to standards and systems, many of which have existed for decades, it's always prudent to see if you can beg, borrow and... Ok, don't steal... code which already does the trick. When it comes to HTTP's REST implementation we've already got all the code necessary.
Thanks to a great community contribution by Todd Geist, you really don't need to fumble through all the variations and possibilities of HTTP's REST methods used by FileMaker's cURL features found within the Insert from URL step. Todd and company did the heavy lifting and made an open source file available to everyone.
In this video I showcase my own personal enhancements to the script and provide some insight into some of the ways I code and why I do the things the way I do.
FileMaker solutions don't really care where your data comes from. They've long had the ability to reach out into ODBC & SQL sources of data. So long as the connection is fast and stable, users really don't know, or care, where the data is hosted.
With the addition of Claris Studio, data can even be hosted within a NoSQL database such as MongoDB - although we can't, as of yet, structure any of the data other than through the Claris Studio interface.
This also means you can use the same External Data Sources feature to split up your single solution into as many files as desired. It's a perfect tool for segmenting out complex systems such that smaller sub-systems are both accessible but separate. This allows you to plan for more variety in the use of your technology and apply better security protocols.
Even when you get to the level of simply separating a single FileMaker solution into two files of UI and Data, you'll find some benefits. If your data file is a separately hosted file, then your UI file can also be hosted or optionally local to the device the user is using. This video provides a How-To of converting a single FileMaker file into the Data Separation model. While there are few gotchas with a simple solution, it's beneficial to know how to troubleshoot a more complex conversion. Of course, starting out with a Data Separation mindset can be beneficial as well.
When it comes to designing a FileMaker layout, there are always subtle tips and tricks that might not be immediately apparent. Whether it's leveraging a graphic to replace multiple layout objects or finding innovative ways to present information in a navigational portal, the possibilities are quite wide.
Regardless of the current state of your layouts, this video unveils various tricks that can further optimize them. Whether your aim is to create layouts with lower maintenance and maximum efficiency, you're bound to discover valuable tips to make this a reality. Tune in to explore these insights and elevate the design of your FileMaker layouts.
Coding software solutions offers the fascinating realization that there are always multiple pathways to achieve the same goal. Sometimes the methods we're familiar with may not be the most optimal, prompting us to expand our knowledge to explore alternative approaches.
This video explores precisely that theme - the comparison between older and newer methods of accomplishing the same task. The advantage lies in the fact that newer methods often come with additional features or benefits. This is particularly true when it comes to obtaining the current record data as a JSON object. Historically, we've relied on ExecuteSQL to extract field names and values from the current record or a set of records.
In this video, I delve into the existing options using ExecuteSQL for creating a JSON object of the current record data. This method is effective in various scenarios. However, accessing related data can be time-consuming, especially when constructing SQL joins accurately requires significant mental effort. Unless you're a SQL expert, this may not be the most efficient use of your development time. Fortunately, recent versions of FileMaker have streamlined the process, making it exceptionally easy, with an alternative method, to extract any data from any record and convert it into the precise JSON object needed for passing parameters or interacting with external APIs.
In Part 2 of our exploration of Smart Solution Architecture, we delve into the fascinating aspects of structuring your FileMaker solution. While the 'common' method of structuring a FileMaker solution might be the simplest, it doesn't necessarily guarantee optimal performance.
As the development of your solution evolves, increased complexity naturally accumulates a few 'cobwebs' and you may encounter potential slowdowns. In order to avoid or diminish this, you'll want to be aware of all the possiblities.
If your goal is to craft a solution that seamlessly blends aesthetics, performance, and ease of maintenance, the FileMaker development environment offers a wealth of possibilities to tap into. The good news is that it's not only entirely achievable but can also be an enjoyable endeavor. This video guides you through additional options for structuring your solution. The exciting part is that FileMaker's ability to facilitate communication between files, regardless of their location, and the indifference of FileMaker's Relationship Graph to data location, empower you to design highly creative solutions.
Give this video a watch if you aim to explore the variety of ways you can create a solution which leverages all of FileMaker's advantages while sidestepping some of its shortcomings.
FileMaker development is an exhilarating journey which empowers you with the ability to have complete control over the data you want to manage and manipulate. Yet, at times, it can be a test of patience as you strive to achieve the desired results - especially as you're learning. The good news is that, in the vast majority of cases, what you aim to accomplish is not only feasible but likely easier (and faster) to accomplish than in many other development environments.
Although I may be a bit biased, I can unequivocally affirm that FileMaker's environment frequently delivers outcomes that go beyond mere acceptability for your software requirements. The challenge with FileMaker lies in its legacy, which may not be immediately evident or well-understood when you embark on your journey with it. Discovering resources like these videos help to gain insights into how choosing one solution architecture path over another can yield specific consequences.
What's fortunate is that FileMaker development offers the flexibility to rectify even the most misguided decisions regarding your data presentation. While shifting your data structure into a different format can be somewhat more complex, wrapping a new user interface around your existing data can be quite straightforward. This first video in a two-part series aims to present various options and methods for crafting intelligent solution architecture when building your application within Claris FileMaker.
While younger generations of Internet users are increasingly adopting communication tools like Discord, it's challenging to envision a future devoid of at least one distinctive means of communication - email. Could a world without email imply that government agencies, utility providers, and other entities transmit messages based on your DNA sequence, linked to your registered devices? The possibilities are intriguing.
But for the present moment, email remains a crucial part of our digital landscape. The transition toward a paperless society is still underway and is likely to persist for many decades to come.
So, the key question is, have you seamlessly integrated HTML emails into your FileMaker solutions? If not, rest assured that you'll acquire a comprehensive understanding of both implementation and troubleshooting when it comes to facilitating communication between FileMaker and an SMTP server. This video offers a practical script and in-depth insights into successfully sending multipart mixed emails. Whether your HTML email simply involves basic formatting, like bolding certain text, or incorporates intricate features like a logo-adorned letterhead, sending the email via SMTP is your destination. Let's make that journey a smooth one and ensure you're well-equipped with all the requisite knowledge.
When embarking on your journey with FileMaker, you encounter the wonderfully visual tool known as the Relationship Graph, which grants you the ability to visually comprehend the intricate interconnections within a complex solution. In fact, the relationships used to link table occurrences in FileMaker are fundamentally akin to those in SQL.
FileMaker essentially offers a visual representation of what would otherwise be a textual definition of a SQL statement. The key distinction lies in the fact that SQL operates within the realm of text and only executes when required. Conversely, the Relationship Graph in FileMaker is persistent and is continually assessed by FileMaker. Consequently, comprehending the implications of specific relationships in your solution becomes vital as your solution expands. Relationships that appear ostensibly simple, serving utility purposes within your user interface, might have more profound ramifications than you initially realize. Hence, it is imperative to comprehend and effectively employ all of your available tools.
One of these indispensable tools is FileMaker's full SQL implementation. In this video, I delve into the advanced aspects of using SQL within FileMaker. If you've constructed your FileMaker solution exclusively using native FileMaker features, you might unknowingly incur a big cost if you haven't invested time in learning FileMaker's SQL capabilities.