Developer’s Guide
Table Of Contents
- Contents
- Chapter 1 Introducing FileMaker Developer 5
- Chapter 2 Customizing your database solution
- About the custom solution examples
- Using the FileMaker Developer Tool
- Binding your databases into a runtime database solution
- Displaying databases in Kiosk mode
- 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 3 Preparing files for a custom solution
- About the Relational Example
- General steps for preparing your solutionfiles
- Issues to consider before creating a runtime database solution
- Opening files in Kiosk mode
- Design tips for navigating in Kiosk mode
- Creating startup scripts
- Using button image samples
- Documenting your database solution
- 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
- Protecting your runtime database solutionfiles
- Testing before and after creating yoursolution
- Converting and upgrading solution files
- Chapter 4 Distributing FileMakerPro runtime database solutions
- Chapter 5 Creating custom layout themes
- Chapter 6 Publishing your database on the Web
- Moving forward using open web standards
- Using the FileMakerPro Web Companion
- Displaying a custom home page
- Using a custom home page with Instant Web Publishing
- Monitoring your site
- Exporting data to a static HTML page
- Testing your site without a networkconnection
- Opening password-protected databasesremotely
- Using the Web Security Database
- 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 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 9 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
- New and 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 10 Writing external function plug-ins
- About the plug-in examples and templates
- Installing, enabling, and configuring FileMakerPro plug-ins
- Using external functions in a calculation
- 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
- Naming and registering your plug-ins
- Appendix A Feature comparison of the runtime application and FileMakerPro
- Appendix B Valid names used in CGI requests for FileMaker 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
- 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
7-8
Developer’s Guide
About UTF-8 encoded data
All XML data generated by the Web Companion is encoded in
UTF-8 (Unicode Transformation 8 Bit) format. This format
compresses data from the standard Unicode format of 16 bits to 8 bits
for ASCII characters. XML parsers are required to support Unicode
and UTF-8 encoding.
UTF-8 encoding includes direct representations of most of the
characters used in English using values of 0-127 for the standard
ASCII set of characters, and provides multibyte encodings for
Unicode characters with higher values. UTF-8 encoded data is
compressed almost in half (lower ASCII characters are compressed
from 2 bytes to 1 byte), which helps data download faster.
Note Because your XML data is UTF-8 encoded, some upper ASCII
characters will be represented by 2 or 3 characters in the text editor—
they will appear as single characters only in the XML parser or
browser.
The UTF-8 encoding format includes the following features:
1 All ASCII characters are one-byte UTF-8 characters. A legal
ASCII string is a legal UTF-8 string.
1 Any non-ASCII character (i.e., any character with the high-order
bit set) is part of a multibyte character.
1 The first byte of any UTF-8 character indicates the number of
additional bytes in the character.
1 The first byte of a multibyte character is easily distinguished from
the subsequent bytes. Thus, it is easy to locate the start of a character
from an arbitrary position in a data stream.
1 It is easy to convert between UTF-8 and Unicode.
1 The UTF-8 encoding is relatively compact. For text with a large
percentage of ASCII characters, it is more compact than Unicode. In
the worst case, a UTF-8 string is only 50% larger than the
corresponding Unicode string.
Generating FileMaker Pro CGI requests for
an XML document
You use FileMaker Pro CGI (Common Gateway Interface)
commands to generate requests for XML data from your database.
For example, to generate a –find request to display all employees
from a database, web users might click on a link containing the
following FileMaker Pro CGI command:
FMPro?–db=employees.fp5&–format= –dso_xml&
–styletype=text/css&–stylehref=stylesheet.css&–find
Request and parameter names
The following tables list the request and parameter names in name/
value pairs you can use in a FileMaker Pro CGI command when
requesting data in XML format.
For more information and examples, see appendix B, “Valid names
used in FileMaker CGI requests for XML data.”
Use this
request name To generate this request
–new New record
–edit Edit record
–delete Delete record
–find Find record(s)
–findall Find all records
–findany find a random record
–view View layout info (in FMPXMLLAYOUT grammar)
–dbnames Retrieve names of all open and web-shared databases
–layoutnames Retrieve names of all available layouts for a specified
open, web-shared database