Developer’s Guide
Table Of Contents
- Chapter 1 Welcome to FileMaker Developer
- Chapter 2 Installing FileMaker Developer in Windows
- Chapter 3 Installing FileMaker Developer in the Mac OS
- Chapter 4 Creating a database solution
- Overview of preparing your solutionfiles
- Considerations for a runtime databasesolution
- Considerations for Kiosk mode
- Using scripts to control your solution
- Protecting your database solution files
- Providing user documentation
- Design tips for cross-platform solutions
- Creating a consistent appearance
- Simulating outline and shadow text styles
- Using common character sets
- Designing text layouts for cross-platform solutions
- Using a common color palette
- Using graphics in cross-platform solutions
- Using QuickTime movies in cross-platform solutions
- Showing the status bar in Windows
- Using separate scripts for printing
- Using the Status (CurrentPlatform) function
- Creating platform-specific scripts
- Your responsibilities as a developer
- Testing before and after creating your solution
- Converting and upgrading solution files
- Chapter 5 Creating custom layout themes
- Chapter 6 Using the FileMaker Developer Tool
- About the solution examples
- Using the FileMaker Developer Tool
- Binding your databases into a runtime database solution
- Creating Kiosk-mode solutions
- Renaming your databases
- Removing design access to your databases
- Customizing the About, Help, and Scripts menus
- Adding the FileMaker Pro extension to database filenames
- Saving your settings in the Developer Tool
- Chapter 7 Distributing FileMaker Pro runtime database solutions
- Chapter 8 Publishing your database on the Web
- Types of web publishing
- Using the FileMaker Pro Web Companion
- Creating a custom home page
- Creating a custom home page for Instant Web Publishing
- Creating a custom web site using a database layout
- Web Companion support for Internet mediatypes
- Monitoring your site
- Exporting data to a static HTML page
- Testing your site without a network connection
- Opening password-protected databases remotely
- Chapter 9 Custom web publishing using CDML
- About the CDML examples
- General steps for custom web publishing using CDML
- About CDML format files
- Generating FileMaker Pro CGI requests using CDML
- Using the CDML Tool and templates
- About the CDML Reference database
- Creating error messages
- Using an encoding parameter with a CDML replacement tag
- Planning your web site
- Chapter 10 Using FileMaker Pro XML to deliver your data on the Web
- About the XML examples
- General process for custom web publishing using XML
- Generating an XML document
- Using the FMPDSORESULT grammar
- Using the FileMaker Pro Extended XML grammars
- About UTF-8 encoded data
- Generating FileMaker Pro CGI requests for an XML document
- Using style sheets with your XML document
- Comparing CSS, XSLT, and JavaScript
- Looking at the XML Inventory example
- Chapter 11 Using JDBC to deliver your data
- About the JDBC examples
- About JDBC
- Using the FileMaker JDBC Driver
- SQL supported by the FileMaker JDBC Driver
- FileMaker Pro support for Unicode characters
- About the FileMaker JDBC Driver interfaces and extensions
- Example 1: Looking at the FileMaker Pro Explorer application
- Example 2: Creating the JBuilder Inventory application
- Example 3: Creating the Visual Cafe Inventory application
- Chapter 12 Understanding external function plug-ins
- About external functions
- About the plug-in example file
- Installing, enabling, and configuring the example plug-in
- Description of the FMExample plug-in’s external functions
- Using the example plug-in
- Customizing the plug-in example
- Requirements for writing an external function plug-in
- FileMaker Pro messages sent to the plug-in
- Debugging your plug-in
- Avoiding potential Mac OS resourceconflicts
- Providing documentation for your plug-in
- Registering your plug-ins
- Appendix A Feature comparison of the runtime application and FileMaker Pro
- Appendix B Valid names used in CGI requests for FileMaker Pro XML data
- Generating a –find, –findall, or –findany request
- Generating a –view request
- Generating a –new request
- Generating an –edit request
- Generating a –delete request
- Generating a –dbnames request
- Generating a –layoutnames request
- Generating a –scriptnames request
- Generating a –dbopen request
- Generating a –dbclose request
- Generating a -dup request
- Generating an -img request
- Specifying parameters for the request
- –db (Database)
- –lay (Layout)
- –format (Format)
- –recid (Record ID)
- –modid (Modification ID)
- –lop (Logical operator)
- –op (Comparison operator)
- –max (Maximum records)
- –skip (Skip records)
- –sortfield (Sort field)
- –sortorder (Sort order)
- –script (Script)
- –script.prefind (Script before Find)
- –script.presort (Script before Sort)
- –styletype (Style type)
- –stylehref (Style href)
- –password (Database password)
- field name (Name of specific field)
- Appendix C FileMaker Pro values for error codes
- Index
4-16 Developer’s Guide
The password protection in a FileMaker file should not be viewed as
an absolute barrier that will prevent a customer from accessing files.
FileMaker, Inc. cannot guarantee that a customer will not be able to
identify or bypass the password without any assistance from
FileMaker, Inc. Therefore, FileMaker Inc. recommends that you take
appropriate steps to protect your consulting and development efforts
without relying solely upon the password.
If you have a dispute with your customer, you must resolve this
dispute directly with the customer. FileMaker, Inc. is unable to, and
will not, attempt to resolve such disputes.
Testing before and after creating
your solution
You should verify the functionality of your database solution by
testing it thoroughly before and after you customize it with the
Developer Tool.
Here are some suggestions for ensuring the quality of your custom
database solution:
• Verify every function and option in your solution. If you’re
developing a cross-platform solution, test it on both Windows and
Mac OS platforms. (See
“Design tips for cross-platform solutions”
on page 4-11 for information.)
• Make sure your runtime database solution does not use a standard
FileMaker Pro feature that is hidden or disabled in the runtime
application. See
appendix A, “Feature comparison of the runtime
application and FileMaker Pro” for information.
• Verify that all scripts and buttons work as expected. This is
especially important if you are displaying your solution in Kiosk
mode.
• Verify your installation procedures and test other instructions in
the documentation.
• Verify that your database layouts display well on monitors with
different color capabilities and resolutions and on the smallest size
monitor your users may be using.
• Test your runtime database solution with actual data. This is
especially important if users are upgrading from earlier versions of
the runtime application and need to import data into new solution
files.
• Make sure all the auxiliary files and DLLs (Windows) are present.
• Show your database solution to intended users to uncover any
usability issues.
• Install your bundled database files on a completely different
computer to verify that all the files associated with the primary file
can be found.
• If you’re assigning passwords or permanently removing design
access, test all access levels. Make sure your database solution
contains an About layout that notifies users of the level of access
you’re providing. See
“Creating an About layout” on page 4-8 and
“Your responsibilities as a developer” on page 4-15 for information.
Important You should keep an unbound version of any runtime
database solution files, especially if you’ve permanently removed
design access. (See
“Removing design access to your databases” on
page 6-11.)
Converting and upgrading solution files
If you have developed a FileMaker Pro runtime database solution
using the Solutions Development Kit (SDK) for FileMaker Pro 3.0
or earlier or the Binder utility in the FileMaker Pro 4.0 Developer
Edition, you may wish to upgrade your solution and provide your
users with the converted files.