FileMaker Pro 7
Pro 7 is the desktop application of the FileMaker family, which also includes new versions of the server product (called, wait for it, FileMaker Server 7), and FileMaker Server Advanced 7, which replaces the former FileMaker Unlimited. Completing the family are Developer and Mobile, which will be available later in the year. Because of the new file-format, if FileMaker is deployed as a client-server environment both the Server and the desktop Pro clients will need to be upgraded. The biggest new feature of FileMaker 7 is that a file can now contain multiple tables, and this is the source of many of the fundamental benefits that the new version offers. Previously each file could contain only one record set, with relationship defined between files, and kludges such as value lists to provide additional data values. Not only is this inefficient in terms of performance, but it means that distributing an application means including multiple files. Now one file can contain all the tables (ie record sets) of the database, though you can still use multiple files if required. There are some good reasons for doing so, of which more later. The new format means that when a database created with an earlier version is opened, it needs to be converted to the version 7 format, with a backup made of the old file. Unfortunately, there's no capability to consolidate multiple files into a multi-table file. Doing so will require new tables with the required fields, and importing data from the other files. Creating simple databases in FileMaker is easy: simply start defining fields and their datatype (text, number, date and so on, for example) and then either start adding records or importing data from an external source, such as a comma-delimited text file, Excel spreadsheet or similar. FileMaker 7 also features support for XML-based import, though the data must either strictly adhere to the included DTD (Document Type Definition), or include a reference to an external XLST style sheet. It can now also export as XML, though this consists of little more than a tagged output of column and row data, unless an external XLST is applied. Additional tables are created in the same way. FileMaker 7 has a visual relationship display that shows the tables. Linking tables is as simple as dragging the fieldnames you want to link from one table to another. Databases can quickly get complex, with multiple tables and numerous relationships, but you can collapse tables to display just their name or linked fields, and add colour-coding to represent groups of tables. This sort of functionality will be familiar to anyone who has used Access before, though the definition of what constitutes a relationship is different. A FileMaker 7 file can theoretically have up to 2,500,000 tables, but it's difficult to imagine how or why you might create a kraken like this. With a potential maximum of 64 quadrillion records and 256 million fields per table it's more about the memory and data restrictions of your machine than any software constraints Linked tables
Now, here comes the science bit: with FileMaker 7, you can pull data from any linked table. For instance, if we added a products table to our contacts database, listing the products a company made, it would be possible to link through from an individual to the products of his/her company. This is relational database 101, but for FileMaker it's a revelation - previous versions could only link one file to another, requiring some sophisticated scripting to pull this particular rabbit from the hat. Relationships don't just have to be equal matches, and other relational operators are supported, such as greater than or exclusive. Portals are the principal way to display data pulled across from the relationship link. For instance, in our above example, the company layout page can list all the contacts at that company and their direct-line phone numbers. Once a portal is set-up, however, it seems difficult to edit the display fields, other than by manually adding them from the layout menu. Tedious. The multi-tabled approach instantly increases FileMaker's power and potential by a huge margin. While Pro 5.5 sample templates include expense reports and recipes, with FileMaker 7 the templates include sophisticated data-handling apps such as a product catalogue or advanced contact-management. FileMaker 7 features enhanced security features, including a privilege-set model, which defines what each group of users can access or control, such as adding and deleting records. It's also possible, using FileMaker Server, to link into system username and passwords, automatically authenticating a user's access to the database. You can use SSL for secure connections between Server and Pro. But, to my mind, FileMaker sits uneasily as a client-server application, as the client itself is such a rich (or fat) application, and the Server does only limited server- side processing. All tables in a file can share scripts and security settings, which means that it might be appropriate to divide tables across multiple files so that only certain users have access to certain information. User interface
FileMaker's biggest strength is probably that it isn't just about handling data, but about the ease of creating a user interface and a visual layout of the data; actually creating an application rather than just manipulating a bunch of data. I think that's still FileMaker's biggest asset, as it provides a visual computing environment consistent with the ideology of the Mac. FileMaker's Instant Web Publishing options allows these layouts to be published online, with limited search and browse functionality. Unlike previous incarnations, you're no longer limited to a number of predefined Web views. Web-users can perform multi-step scripts, with more than 70 script steps now supported for online connections. For creating dynamic Web applications - where data can be created, modified and altered through the Web interface - you'll need to cough-up for Server Advanced. In terms of interface enhancements, one of the best is that FileMaker now supports multiple windows and found sets. This means that data can now be displayed as a form and a list view at the same time. Another key new feature is that container fields can now contain files of any type, either embedded into the database or linked. Embedded files are great for the one-file-contains-everything approach, but it can mean that the database file size grows quickly. Scripts are the means by which the power of FileMaker is really exploited, in terms of managing data, and creating custom search-patterns. In version 7 you can now pass parameters to scripts, preventing the need to reproduce loads of scripts that basically do the same thing. New script steps include opening and resizing windows and managing accounts.
While there are no doubts of the benefits of the new version for users upgrading, the all-or-nothing approach across application, operating system and server software means that it's a major undertaking for any organization with multiple licences, and a client-server architecture. But this is a great upgrade, well worth the effort.