File Maintenance FileMaker has three methods for optimizing files. The Save A Copy As feature is available in FileMaker Pro, Developer and Advanced. This feature allows you to save a compacted copy but not like WinZip or Stuffit. A compacted copy is a duplication of the file compacted and optimized. FileMaker stores data in blocks and, when information is deleted, those blocks may become partially full. Compacting a file merges partial blocks, so there are fewer and fuller blocks -- thus creating a smaller file. Optimizing a file is a lot like optimizing your hard drive. Blocks are swapped so that data in records are grouped together. Scripts, Fields and other areas of FileMaker are also optimized to increase performance by allowing similar data to be accessed sequentially. The File Maintenance feature in FileMaker Developer 7 and FileMaker 8 Advanced simply splits these two tasks into separate features. The big difference is that the File Maintenance feature works on the current file, so you don't have to swap out the old copy for the new one.
Level: Intermediate Version: FileMaker 17 Category: General Tuesday, January 8, 2019
It was almost two years ago that the Philosophy of FileMaker released it's first article. I write new articles almost every two weeks so there's a lot of information to filter at the Philosophy of FileMaker web site. That's why I thought it would be a good idea to talk about my favorite articles from the first year of blogging. You may have missed some of these articles and, if I list my favorites and why they're my favorites, maybe they'll answer long standing questions.
The Philosophy The idea behind the Philosophy of FileMakerblog is to think about how and why you are programming FileMaker. The web site focuses on core scripting, calculations and relational design techniques for amateur developers instead of trying to release techniques that push the FileMaker envelope or try to one-up the next FileMaker blog article. The articles below I think are really good representations of this philosophy. I hope you enjoy these articles!
Twelve article from 2017 Here are twelve of my favorite articles from the first year of the Philosophy of FileMaker web site. I hope you enjoy them!
FileMaker History Released February 1st, 2017 This article is adapted from an interview with one of the creators of FileMaker, Spec Bowers. Spec delves into why his company chose to create a database and how it works differently than existing database applications on the market. Claris and FileMaker, Inc. have kept true to the roots of FileMaker while adding on a deep set of additional abilities. Knowing the history of FileMaker helps you understand it's core functionality and purpose and allows you to be a better developer.
In Depth Index Released February 14th, 2017 The index is what makes finds fast! Without it, a database would be far less useful in this information age. Understanding how the index works across different field types as well as other features such as sorting, relationships and validation will help you design better solutions. It will also allow you to efficiently find what you're seeking. Study this article closely as the index is a little tricky.
To Separate or Not Released February 16th, 2017 I'm not a fan of the separation model, to say the least. This article covers why I think it hinders the development process and why FileMaker was never intended to be programmed in this manner. I also touch on methods for optimizing development such as single and multi-user development practices. Before you choose the separation model, you should read this article!
Trigger Tightrope Released February 28th, 2017 So many developers use script triggers as a crutch that I felt I had to write this article warning them. Essentially, overindulgence of script triggers creates conflicts. In my development practice, I always look at every possible solution to a problem instead of thinking, "a script trigger could easily solve this issue". Script triggers are so versatile that they can be applied to any solution but they aren't always the best approach.
Ultimate Find Released March 28th, 2017 I first wrote about find scripts way back in the FileMaker 3.0 days. Since then, a lot has changed. While you may think you know everything there is to know about creating find scripts, I'd be surprised if you didn't pick up a couple nuggets of truth in this article. I cover Allow User Abort, Set Error Capture, Modular Scripting, Loops, Modify Last Find and much, much more.
KISS Released April 6th, 2017 Every time I see another developer's work, it seems like they have thrown every bell and whistle into the solution. Don't get me wrong, they look great and perform great (if the developer knows what he's doing). This article focuses on what can go wrong and what happens when someone else adopts your solution. Better to keep things simple unless there's a really good reason to complicate it. Otherwise, your client will be sorry they hired you, requiring far more money to make changes down the line.
Compare and Contrast Released May 23rd, 2017 Comparing and contrasting multiple solutions to the same problem is at the core of the Philosophy of FileMaker. I determine the advantages and disadvantages of every piece of code I place in a FileMaker database I create in order to arrive at a precise and efficient solution. It takes a while to get the knack of it but the long term result is better development work. I highly recommend you adopt this methodology if you are serious about FileMaker development.
Window Naming Released July 11th, 2017 Every window in every one of my solutions is named in order to promote multiple window usage. Otherwise, the Window menu becomes a sea of numbered windows. Therefore, it was important for me to have an adaptive method for naming windows on the fly. This is probably my least philosophical article but I still think it fits into the whole concept of my web site because it's one of those things most developers don't consider.
Subsummary Sandwich Released July 25th, 2017 Developers are always trying to circumvent that traditional subsummary report with disastrous results. Once you understand subsummary report versatility, it becomes the most powerful tool in your arsenal. Not only will you find out how to build a proper subsummary report but why it is the best way to aggregate information in a FileMaker database.
Preferences and Options Released October 24th, 2017 ExecuteSQL is another of those abused features! Developers new to FileMaker but familiar with SQL try to use ExecuteSQL for every solution. This article explains why the feature was added to FileMaker, with a good example on how it solves a problem best suited to this awesome feature. Even if you don't plan on including user preferences in your FileMaker database, this article will teach you how to deploy your own ExecuteSQL solution appropriately.
Wrangling Relationships Released November 7th, 2017 Selector Connector, Anchor-Buoy, Spider Graph, etc... The list could go on and on and on about different relational schemes. I'm a proponent of anchor-buoy so if you want learn about it, this is the article to read. I also bash Selector Connector quite a bit, especially since the FileMaker 17 Master-Detail Layout feature does away with the need for the cumbersome relational style.
Eating Your Own Dog Food Released December 5th, 2017 One of my favorite articles since some unnamed company doesn't use FileMaker for all of their database needs, even when it fits perfectly. Shame on them. Well, I'm here to say that I could have used off-the-shelf blog software but instead I used FileMaker. I'm happy I did too! I was able to design a back end that works the way I like to create my blogs. Come find out how I did it!
Year in Review Let me know in the comments which article(s) you missed and why you liked it. I'd really like to know! Hope you had a happy holiday and are ready for all the great articles for 2019!