Since very early in its life FileMaker (perhaps even before it was FileMaker Pro) could store binary data (zeros and ones). We have all kept things like pictures, movies, and eventually portable document formats (PDFs), Word documents, and even object linking and embedding (OLE) files on Windows. If you can store it in a file, you can put it in a container field. As FileMaker evolved over the years and embraced new technology trends, such as QuickTime and Adobe's PDF format, the container field capabilities have expanded to integrate the latest file trends with our data-driven workflows. Let's explore some of the fundamental parts of setting up and using container fields.
Container fields act very much like the other types of data storing fields, including text, number, date, time, timestamp, etc., except we can't search, sort, or use them as a key in a relationship. However, we can set them up to be stored globally, targeted in scripts, and utilized in calculations and the results of calculations. The one thing that container fields feature that other "data" fields don't is the option to store themselves externally.
When we open a container field's options, we will see the external storage options under the "Storage" tab within the "Container" section. Simply by selecting or deselecting the "Store container data externally" checkbox, we can move our files, documents, and images in and out of our app.
There are a few things to keep in mind when moving our container data in and out of our app. First, by default, when selecting the "Store container data externally" checkbox, FileMaker will also want to use the "Secure storage" option. This selection means that instead of just creating a folder structure relative to our file, we can navigate with our operating system's file app like any other folder structure. It establishes a hashed, universally unique identifier (UUID) version of the folder and file hierarchy that completely obfuscates its contents. This behavior will likely be intuitive to most folks because they will read, write, and delete these files entirely in FileMaker or on FileMaker Server. For those who want to interact with these files outside of FileMaker, we should select "Open storage" instead. However, Claris isn't necessarily keen on us doing this. Open storage will make the files accessible if we need to copy or open them. Again, if we do this, we have to be careful not to delete a file or change its permissions; otherwise, FileMaker/FileMaker Server will get confused.
Container Data Transfer
Another aspect of external storage that might not be intuitive is that FileMaker/FileMaker Server accesses these external files through the folder structure, just like we, as users, would. We can back them up or move them separately from the app file as long as we're mindful of file permissions and their relative path from the app file. This arrangement is convenient to know if we plan on moving or backing up a large externally stored field's data/files. Knowing that we can zip the folder structure up before copying or moving them improves our workflows. If we don't want to bother ourselves with this, use FileMaker to upload and FileMaker Server to download our apps, they will handle all the messy zipping and transferring for us.
Container Data Format
The last thing we're going to touch on is the ability to set a container field on a layout to be interactive with certain media. If we go into layout mode for a layout that has a visible container field on it and then select that field, we will be able to choose between the following "Optimized for" options once we've selected the data tab from the inspector and scrolled down to the "Data Formatting" section. The general consensus is that if our content is static, like a picture, we should choose "Images." Be sure to check out our blog post on how to manage and customize images in FileMaker. On the other hand, if it's dynamic, like a movie or multipage PDF, then we should go with "Interactive content." The interactive content setting allows users to play a movie or leaf through the PDF without first exporting it to their local drive.
We've covered most of the basics as well as some of the features and quirks of one of the most misunderstood data storing fields in FileMaker. Hopefully, we have given you some insight into when it makes sense to use this field and what you can do with it.
This article is also published on FileMakerProGurus.com.