Local File is a technique designed for FileMaker developers seeking to enhance performance, ensure data integrity, and elevate user experience within their solutions. bzLocalFile demonstrates the techniques presented by Andrew Witschonke in “User’s Sandbox: Opening New Performance, Data, and UI/UX Possibilities.”
After refining this approach to prioritize user experience and security, at Beezwax we’ve used it for years, adapting it to build more performant, more accurate, better looking, and more functional Claris FileMaker applications.
Isn’t maintaining two separate FileMaker files a challenge?
Maintaining a local file is simpler than it seems. The local file only needs essential tables and fields to support specific functionalities. Most data and logic remain in the hosted file, minimizing duplication and maintenance efforts.
How do you handle record conflicts?
The simple way to handle record conflicts is by using a “last-in-wins” approach. For more critical data, methods such as marking records as checked out or comparing states before committing changes can be employed.
Does this technique work in FileMaker Go?
Yes, the local file technique works seamlessly in FileMaker Go, leveraging the temp directory for local storage.
Can this technique be used in WebDirect?
No, it’s not compatible with WebDirect as it relies on local storage, which isn’t feasible in a web-rendered environment.
Why use a sandbox file versus other techniques?
The sandbox file provides a near-native way to enhance capabilities in FileMaker. It offers greater flexibility and control compared to traditional global fields.
When should you use the local file technique over global fields?
The local file technique is ideal for manipulating multiple records or fields simultaneously, or when you need session-specific data that doesn’t interfere with other users’ sessions.
What are the key advantages of this technique for UI enhancements?
The technique allows for filter and selection states per user and window, providing a more personalized and robust user experience. Since layout information can be record-based data, it also supports complex UI states that are difficult to manage with traditional methods.