Developer’s Guide
Table Of Contents
- Preface Introducing FileMaker Developer 5.5
- Chapter 1 Installing FileMaker Developer 5.5
- What you need to install FileMakerDeveloper
- System requirements for FileMaker Developer 5.5
- Networking requirements
- Web publishing requirements
- Requirements for advanced features (Windows)
- Requirements for advanced features (MacOS)
- Installing FileMaker Developer 5.5 in Windows
- Installing FileMaker Developer 5.5 in the MacOS
- New features in FileMaker Pro
- FileMaker Pro 5.5 and Mac OS X
- Contents of the FileMaker Developer 5.5 folder
- Contents of the Developer Extras folder on the FileMaker Developer 5.5 CD
- Read Me file
- Electronic documentation
- Abiding by the license agreement
- Registration and customer support
- About the TechInfo database
- Chapter 2 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 yoursolution
- Converting and upgrading solution files
- Chapter 3 Creating custom layout themes
- Chapter 4 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 Scriptsmenus
- Adding the FileMakerPro extension to database filenames
- Saving your settings in the Developer Tool
- Chapter 5 Distributing FileMakerPro runtime database solutions
- Chapter 6 Publishing your database on the Web
- Types of web publishing
- Using the FileMakerPro 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 networkconnection
- Opening password-protected databasesremotely
- Chapter 7 Using FileMakerPro XML to deliver your data
- About the XML examples
- General process for custom web publishing using XML
- Generating an XML document
- Using the FMPDSORESULT grammar
- Using the FileMakerPro Extended XMLgrammars
- About UTF-8 encoded data
- Generating FileMakerPro CGI requests for an XML document
- Using style sheets with your XMLdocument
- Comparing CSS, XSLT, and JavaScript
- Looking at the XML Inventory example
- Chapter 8 Custom web publishing using CDML
- About the CDML examples
- General steps for custom web publishing using CDML
- About CDML format files
- Generating FileMakerPro CGI requests using CDML
- Using the CDML Tool and templates
- Modified CDML tags
- About the CDML Reference database
- Creating error messages
- Using an encoding parameter with a CDML replacement tag
- Planning your web site
- Chapter 9 Using Java and JDBC to deliver your data
- About the JDBC examples
- About JDBC
- Using the FileMaker JDBC Driver
- SQL supported by the FileMaker JDBCDriver
- FileMakerPro support for Unicodecharacters
- About the FileMaker JDBC Driver interfaces and extensions
- Example 1: Looking at the FileMakerPro Explorer application
- Example 2: Creating the JBuilder Inventoryapplication
- Example 3: Creating the Visual Cafe Inventory application
- Using the FileMaker Java classes
- Chapter 10 Understanding external function plug-ins
- About external functions
- About the plug-in example file
- Installing, enabling, and configuring the exampleplug-in
- Description of the FMExample plug-in’s externalfunctions
- Using the example plug-in
- Customizing the plug-in example
- Requirements for writing an external function plug-in
- FileMakerPro messages sent to theplugin
- Debugging your plug-in
- Avoiding potential MacOS resourceconflicts
- Providing documentation for your plug-in
- Registering your plug-ins
- Appendix A Feature comparison of the runtime application and FileMakerPro
- Appendix B Valid names used in CGI requests for FileMakerProXMLdata
- 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 FileMakerPro values for error codes
- Index
Understanding external function plug-ins 10-13
Debugging your plug-in
Your plug-in code could include a preprocessor instruction to cause
your plug-in to behave differently during the debugging process. For
example, the FMExample plug-in will behave in the following ways
when the DEBUG_VERSION flag is set to “1”:
1 The DebugPlugin routine will be substituted for the PluginVersion
function.
1 When a message for Xpl-Version is received, the routine returns a
debug string instead of the version or platform string.
1 DebugPlugin will return different debug strings depending on the
value of the parameter that is passed in.
Avoiding potential Mac OS
resource conflicts
Problems can occur on Mac OS machines if your plug-in has the
same ID for a resource that FileMaker Pro or another plug-in has for
the same type of resource. To avoid potential resource ID conflicts
with your plug-in and other applications or plug-ins, follow these
guidelines:
1 Use ID numbers between 23,000 and 24,999
Use hard-coded IDs from this range for your dialog boxes, sounds,
icons, and other resources to avoid conflicts with FileMaker Pro
resources. FileMaker Pro does not use any of the IDs in this range for
the application resources.
1 Set the current resource file to your plug-in
To avoid conflicts with other plug-ins that use the same resource IDs,
use the Mac OS toolbox call in the Resource Manager to set the
current resource file to your plug-in before getting any resource
objects from the resource file.
Include the following line before any line that references or uses a
resource:
UseResFile (pb -> resourceID) ;
When FileMaker Pro loads your plug-in, the application gives the
resource ID. This is located in the parameter block near the param2
and param3 variables in the FMExtern.h file (see “Required code
files” on page 10-7).
Providing documentation for your plug-in
Your FileMaker Pro plug-in should include an example database file
with any special fields and scripts necessary to demonstrate the use
of the plug-in’s external functions. In addition, you should provide
documentation that describes each external function and its
parameters.
For ideas on how to document your plug-in, see other external
function plug-ins registered with FileMaker Pro (at
www.filemaker.com).
Registering your plug-ins
Register your external function plug-in with FileMaker, Inc. to
ensure that it’s unique and not in use by any other plug-in.
Registering also allows you to make your plug-in visible to
customers searching for a FileMaker Pro plug-in that might suit their
needs.
Before registering your plug-in, you can search to see if the plug-in
name or feature string ID you are requesting has already been
assigned.
Steps for registering your external function plug-in
1. In your web browser, go to www.filemaker.com, click the Support
tab, and click the Plug-ins link to display the Plug-ins search page.
2. Click the Registering a Plug-in link to display the online registration
form.