Every FileMaker solution has common traits with regards to a typical development environment. The following Scripts are suggested for every FileMaker file. It is also suggested that you place these scripts at the very top of your Manage > Scripts dialog and not within a folder. The names of these scripts are not specific, only that they exist and can be easily identified. For example, if you prefer the name "History" vs. "Changelog" then feel free - although the names used here are suggested.
The version script is used to identify the current version of a file. As with plug-ins and FileMaker's own Get ( ApplicationVersion ) function, it's often critical to know which version a file is at. Being able to code logic against any given version of a file is often valuable. The method and name for the version script is not specified in these standards, however, the following script is provided as a suggestion.
The way this script works is simple. Each time the file is revised for deployment, the name of the script itself is changed. This provides multiple advantages, any script can call this script to receive the version of the file using Get ( ScriptResult ) and it's very easy to quickly see what version the file is at when simply opening the Manage Scripts dialog.
Version number evaluation
Using a numerical result for your version function is often desired. Using the above notation which is major.minor.revision|build (see Wikipedia article on software versions) you can properly evaluate a logical test against the script result. For example, the following will result in 1.56 -
GetAsNumber ( "Version 1.5.6" )
The Changelog script is a single point of reference to track changes made to the file. The following is the suggested method for organizing the script.
Each comment step contains the tracked changes using a readable format.
This is simply your default template which contains your script comment header and any default scripts steps you may wish to include. This script can be used for new scripts via duplication or copy/pasting.