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
10-2 Developer’s Guide
General process for custom web
publishing using XML
Here’s a simple overview of the process for publishing your
FileMaker Pro database on the Internet or an intranet using XML:
1. You send a FileMaker Pro CGI request (such as to find records in
the database) to the Web Companion through an HTML form, an
HREF link, or a script on your web page. The request can also be
made by typing the URL in the web browser.
See “Generating FileMaker Pro CGI requests for an XML
document” on page 10-8 and appendix B, “Valid names used in CGI
requests for FileMaker Pro XML data.”
2. The Web Companion generates an XML document containing the
results of your request in XML format (for example, a found set of
records from the database and an XML-stylesheet processing
instruction) and returns it to your web browser.
See “Generating an XML document” next.
3. The web browser, with the help of an XML parser, applies any
instructions that you’ve specified via a stylesheet and displays the
data in HTML format.
See “Using style sheets with your XML document” on page 10-10.
Once the XML document is downloaded to your web browser, you
can use stylesheets (such as CSS or XSL) to apply text formatting
styles and object positioning, or scripting (such as JavaScript) to
manipulate the data however you want. See
“Comparing CSS,
XSLT, and JavaScript” on page 10-11.
Generating an XML document
When you specify an XML format parameter in your FileMaker Pro
CGI request, the Web Companion generates an XML document
containing data from your database that is formatted by one of two
types of XML grammars (or schemas).
One type (called FMPDSO) gives you more flexibility and control
over individual elements and is ideally suited for use with cascading
style sheets (CSS) or Extensible Stylesheet Language (XSL). The
FMPDSO grammar can also be used with the Microsoft XML Data
Source Object (DSO) in Internet Explorer 4.0 to publish read-only
databases. (The Microsoft XML DSO lets you view but not update
data in XML format.)
The other type of grammar (called FileMaker Extended XML or
FMPXML) provides a broader, richer XML that defines
FileMaker Pro layouts, fields, and value list information. These
grammars can be combined with XSL documents or scripting (such
as JavaScript) to publish dynamic databases on the Web.
All XML data generated by the Web Companion is well-formed and
compliant with the XML 1.0 specification. The document type
definitions (DTDs) for the grammars are provided in HTML documents
for your convenience (included on the FileMaker Developer CD).
Developer Extras\FileMaker, Inc\External FileMaker
APIs\XML\Documentation
Two of the grammars generated by the Web Companion are used for
retrieving query results and a third is used for retrieving layout
information. Depending on what you specify in your FileMaker Pro
CGI request, the Web Companion will generate an XML document
using one of these grammars:
• the FMPDSORESULT grammar
• the FMPXMLRESULT grammar
• the FMPXMLLAYOUT grammar
Each XML document contains a default XML namespace
declaration for the grammar. (See
“About XML namespaces” next.)
You can also specify that the document contain an XML-stylesheet
processing instruction. (See
“Using style sheets with your
XML document” on page 10-10.)