This web site and the coding standards presented here are for developers using the FileMaker Pro database software application. They are maintained and documented by a core group of contributors familiar with developing FileMaker Pro applications.
There are two primary aspects covered on this site. The first is a Coding Style Guide and the second is Best Practices. The information provided is being cultivated in order to facilitate "clean reading" and well functioning FileMaker solutions. Please note that this site is not attempting to promote a solution "framework". While we do provide a starter file, the use of the documented best practices is obviously voluntary to the extent which it will benefit anyone who is able to reference the documentation maintained on this site.
Disclaimer: These are not official standards from FileMaker, Inc. (read the Background section for more info)
These coding standards are based on developing a FileMaker solution for use within the FileMaker client/server architecture. They prioritize considerations of that architecture over compatibility or ease of use for other FileMaker supported connectivity methods including Instant Web Publishing, Custom Web Publishing, FileMaker PHP API or FileMaker Go. You will see the use of various ASCII characters beyond numbers and letters, such as the percent sign (%) and tilde (~), within these specifications that are known to be discouraged in use with other FileMaker connectivity methods. It is assumed that, as a developer, you are using FileMaker Pro Advanced for developing your FileMaker solutions.
Please visit this page for reference on URL character encoding issues from the IETF and how that may impact alternative connectivity methods to a FileMaker solution.
If you are creating a distributed solution across the variety of platforms supported by FileMaker Pro, it is suggested that you deploy a unique file for each technology. For example, use one file for primary solution data, one file for web publishing, one file for FileMaker clients, and one file for mobile devices (unless providing for multiple mobile platforms dictates otherwise).