Whats New in FileMaker Pro 8
What s New in FileMaker Pro 8
FileMaker, the database product, has been around since 1985, and has evolved a great deal since its inception. It is fully relational, offers both development- and user-level support in a single application, is completely cross-platform compatible, and takes advantage of a modern security architecture.
New Features
The following is a brief list of the major changes and new features in FileMaker 8.
Features for Users
- Calendar Picker Date fields can now feature a calendar picker (p. 120).
- Auto Complete All fields (with the exception of container fields, summary fields, and calculation fields) can offer auto-complete ("type-ahead") options to users as they type (p. 78).
- Send Mail Users can now email reports and information directly from the File menu (p. 301).
- Save/Send As PDF FileMaker licensed the Adobe PDF technology and users now can create PDF documents and email them in one step (p. 298).
- Save/Send As Excel Users can save data directly as Excel documents, rather than having to export data as comma-separated values, and, as with the Save/Send As PDF feature, email the results (p. 300).
- Visual Spell Check FileMaker now highlights misspelled words within active fields as users type (p. 42).
- Fast Match With one mouse click, Fast Match lets users find all matching records, even refine or broaden a search, all without typing (p. 51).
- Field List Filtering Sort and Export dialog boxes can now be limited to showing only those fields that are on the current layout, making choosing fields much more straightforward (p. 596).
Programming Features
- Script Variables and Script Results Powerful new programming features, script variables and script results, allow developers to build complex routines (p. 444, p. 448).
- "Extended" Go to Related Record Script Step It is now possible to jump from an entire found set of records to a related set (p. 462).
- Dynamic Repeating Values Repeating field and variable instances can now be dynamically controlled, giving FileMaker the equivalent of one-dimensional arrays (p. 87).
- Value Lists Display Only Second Column It is now possible to use a two-column value list to populate a match field value in column one and to only display data from column two (p. 175).
- Copy/Paste Schema Objects Fields, scripts, script steps, and tables can all be copied and pasted now (p. 179).
- Import As New Table Developers can import just a table's definition or they can import both a definition and data (p. 577).
- Relationships Graph Additions The Relationships Graph features new alignment tools, a comment/note object, and new selection capabilities (p. 214).
- Layout Alignment Tools Layout tools now include the capability to align objects relative to each other's characteristics (p. 114).
- Debugger, Data Viewer The Script Debugger has been enhanced in FileMaker 8 and a Data Viewer allows developers to see what values are populated into variables or as the result of an expression as needed (p. 517).
New User Interface Controls
- Tab Control The new Tab Control object allows developers to extend screen real estate on layouts (p. 117).
- Custom Menus Developers can now control every aspect of FileMaker's menus, including contextual menus and toolbar controls, by using FileMaker Pro 8 Advanced (p. 373).
- Tool Tips Users can get additional information via tool tips that a developer can attach to any layout object in a FileMaker solution (p. 106).
FileMaker 7/8 Architecture
Version 7 was a major architectural shift for FileMaker, and many of the changes from prior releases of the platform represent critical issues that all current developers must know. To present a complete picture of FileMaker, the following section reviews, and compares to prior versions, the new architectural structure introduced in FileMaker 7 and extended in FileMaker 8.
File Format
The file format for FileMaker 7 and 8 is radically different from that of earlier versions of FileMaker Pro. Earlier versions of the product were limited to one table per file, whereas FileMaker 7 and 8 allow one million tables per file. Not only is the file format different, but the network protocol that FileMaker uses to communicate between hosts and guests is different as well. That means that if you need to, you can run both FileMaker 6 and FileMaker 8 on the same network and the two versions won't "see" each other on the network, or conflict in any way. After you convert FileMaker 6 files into FileMaker 8 files, the FileMaker 8 versions will no longer be readable by FileMaker 6. Conversion in this sense is actually a misnomer because when FileMaker 8 converts a FileMaker 6 file, the original file is left untouched. Instead, FileMaker 8 uses the original to create a new version of the file.
Along with the FileMaker 7/8 file format come some dramatic benefits. One favorite is the significantly improved stability of files, leading to far less corruption when systems suffer crashes. Also, developers can now make changes to everythingfield definitions, table definitions, access privilegeswhile the database is being hosted with guests logged on. This extends the flexibility of the platform even further.
Relationships Graph
The Relationships Graph is a visual representation of the relationships between table occurrences. The term table occurrences is used because there can be only a single relationship between two table occurrences. If a developer needs to create multiple relationships between two tables, those tables will be displayed multiple times on the Relationships Graphhence the term table occurrence (see Figure 1.3).
Figure 1.3. This Relationships Graph shows two occurrences of the Person table, each with a different relationship.
For more on the Relationships Graph, see Chapter 6, "Working with Multiple Tables," p. 157. |
Enhanced Relationship Functionality
In versions of FileMaker Pro before version 7, relationships could be constructed only on the basis of a key field (match field) in one file being equal to a key field in another file. These relationships, or joins, are known as equijoins in relational database terminology. FileMaker Pro 8 supports multiple join types. Now relationships can be constructed in which one value is less than, greater than, or not equal to the other value.
In addition to the multiple join types, FileMaker 8 also supports complex, multiple-predicate joins, or joins with more than one criteria. In Figure 1.4, the Edit Relationship dialog clearly shows the different join types and the multiple join criteria.
Figure 1.4. This relationship shows all team members for the selected Team ID, excluding the current person's record.
Multiple Windows per File
In FileMaker 8, a user can have more than one window open per file and, more important, more than one window open per table (because it is possible to have multiple tables per file). It is possible to view two separate found sets of data at once, perform a search in one window while maintaining the state of another, or develop a multipaned application.
Security
FileMaker 8 supports a centralized, modern security architecture in which accounts and privileges may be changed while a system is live. System behaviors are grouped into privilege sets; each account is associated with a single privilege set, ensuring that all users have their own accounts and passwords while sharing access levels with their peers.
Extended privileges serve as an additional feature that allows developers to define custom privilege settings. In scripts and calculations, a developer can test for the existence of an extended privilege and modify the behavior of a user's experience with a given solution accordingly.
Security capabilities also include the capability to integrate with an external authentication server (Open Directory or Active Directory) where an IT organization may maintain passwords on a central server for all the various applications in an organization, including FileMaker.
Although technically not really a security feature, it is possible to tie a FileMaker Server into an LDAP (Lightweight Directory Access Protocol) infrastructure so that users see only host servers that are applicable to their department/division, and so on.
For a complete overview of FileMaker's security features, see Chapter 12, "Implementing Security," p. 325. |
Calculations
FileMaker 7 introduced support for commenting within calculations, included the Let() function for declaring variables, and shifted syntax from Status functions to the more broadly applied Get functions.
FileMaker 8 allows developers to extract data by related rows with the GetNthRecord() function, new functions have been added to remove text style attributes (font, text color, font size, style), and additional Get() functions have been added to determine the location of desktop and document folders on client machines.
FileMaker Developer 7 and FileMaker Pro 8 Advanced allow developers to create their own custom functions. Often underappreciated, custom functions give developers the capability of abstracting code into reusable, discrete units.
Scripts
FileMaker 8 contains its own scripting tool, ScriptMaker, which allows developers to create logical routines that run at the press of a button or the selection of a menu choice.
Scripts in FileMaker 8 can be set to run with full access privileges on a script-by-script basis that then overrides a user's security privilege settings.
Scripts can also be set to be available for execution from the Web. A wide majority of script steps are supported via both Instant Web Publishing and Custom Web Publishing.
Layouts
FileMaker 8 boasts new alignment tools, and, on a layout-by-layout basis, a developer can decide whether record changes will be automatically saved, as they were in previous versions of FileMaker Pro, or whether the user needs to deliberately commit the record to save changes.
Button objects can now be included in tab sequences, and when a user has tabbed to a button object, she may "click" the button by pressing the Enter key or spacebar.
The biggest change with layouts is the Tab Control object. Developers can now create a tabbed pane without any scripting whatsoever.
Web
Instant Web Publishing was greatly enhanced in FileMaker Pro 7, and Custom Web Publishing was completely overhauled to utilize XML and XSLT. FileMaker 8 made no dramatic changes to web capabilities, but did refine both performance and stability.
Technical Specifications
FileMaker 7 represented a complete rearchitecting of FileMaker's file format and dramatically extended the platform's capabilities. The transition from the file format supported by FileMaker 3.0 through FileMaker 6.0 is still going on. A comparison between the two architectures demonstrates the dramatic growth the platform has undergone (see Table 1.5).
Feature |
FileMaker 6 |
FileMaker 8 |
---|---|---|
Number of tables per file |
1 |
1,000,000 |
Maximum file size |
2GB |
8TB |
Maximum amount of data in a text field |
64,000 characters |
2GB of data, or 1GB of Unicode characters |
Number of significant digits in a number field |
14 |
FileMaker Pro indexes the first 400 significant digits (numbers, decimal points, or signs) of the field, ignoring letters and other symbols |
Number of characters in a number field |
120 |
800 |
Maximum number of files allowed open on the client |
50 |
Limited only by memory |
Maximum records per file (theoretical limit) |
100 million |
64 quadrillion over the lifetime of the file |
Maximum amount of data allowed in a container field |
2GB |
4GB |
Maximum number of fields in a table |
N/A |
256 million over the lifetime of the file |
Number of script steps supported by Instant Web Publishing |
10 |
74 |
Number of FileMaker clients hosted by FileMaker Server |
250 |
250 |
Number of web clients hosted by FileMaker Server Advanced |
N/A |
100 |