Verdict:
Ease of use is as great as ever, with some useful XML enhancements, but FileMaker 6 does little to address the product's main shortcomings.
FileMaker Pro is designed from the ground up to embrace ease of use - no mean feat for a database manager. It's also a cross-platform product, with full versions for Windows and the Mac (OS X included), along with a server version that runs on Windows, Mac and Red Hat Linux.
Despite its cross-platform capabilities, FileMaker's user-centric philosophy comes straight from the Mac, which is hardly surprising given that FileMaker is an Apple subsidiary. The product is one of only a few survivors in the desktop database market. It targets single users or small workgroups, providing a complete package including a database engine, ad hoc interactive tools and the ability to develop custom applications.
On the Windows platform, the desktop database market has been aggressively dominated by Microsoft Access, with occasional glimpses of Lotus Approach and Corel Paradox. On the Mac, however, FileMaker has this particular niche almost to itself, although there are other more developer-oriented packages such as 4th Dimension.
FileMaker has always excelled in what it provides for the database novice, but this is hardly a growth market. It's prospered by offering developers an easy-to-use alternative to the likes of Access or Visual Basic, pushing the limits of what can be done with point-and-click buttons and scripts. It also benefits from a highly capable database engine. But at the same time, FileMaker's distinctive approach can be frustrating for developers familiar with other systems, especially as it still lacks key features. For example, transactions aren't supported, databases can't be encrypted and you can't use SQL, except via ODBC or JDBC. For many database professionals, such shortcomings rule out FileMaker as a serious contender.
Regardless of certain limitations, FileMaker still has unique advantages. More importantly, it does a great job of hiding complexity. To create a new database, the user types in some field names and selects from a short list of simple types such as Text, Number or Date. FileMaker automatically creates a form with Browse and Table views, and provides an effective search facility through query by example.
By default, indexing is done automatically when needed and even includes full text indexing. Character fields double as memo fields - with the basic text type allowing up to 64,000 characters - and Container fields store items such as graphics, multimedia or Windows OLE objects. Common-sense dialogs allow users to add more advanced features such as validation and uniqueness and to pick lists of predefined values. You can also add buttons and link them to actions or custom scripts to build applications.
Sharing a database is a one-click option, and you can set up access privileges based on users and groups. Both forms and individual fields can be marked as accessible, inaccessible or read-only for particular users. As a tool for building single-table database applications quickly and easily, FileMaker is outstanding.
FileMaker's efforts towards enterprise integration are less steady. Early versions lacked any relational features other than simple look-up, and even now a FileMaker database file can only contain one table, together with forms and scripts. You can, however, set up links with other files and use them in scripts, and you can also display related tables in a subform, called a Portal in FileMaker jargon.
But FileMaker can't easily access external data. It may be an ODBC client, but the feature is mainly for importing data; it can't attach or join to an ODBC data source in the manner of Microsoft Access. There are ODBC and JDBC drivers for FileMaker, which is a more promising route if you need to use FileMaker data alongside other data sources. In this scenario, you lose the benefit of the RAD tools.
A strong feature is integrated Web publishing. FileMaker includes a Web Companion plug-in that fully automates the business of serving live data to the Web, using its own built-in Web server. By default, the Web Companion uses fixed designs, but these can be overridden by writing your own FileMaker Web pages using its proprietary CDML tag language.
There are a wide range of CDML tags available, divided into three types. Action tags define a database command, variable tags refer to parameters such as database or layout names, and replacement tags are placeholders for actual data values. The concepts
ADVERTISEMENT
will be familiar to anyone who's worked with other server-side tag languages like PHP or ASP.
The strength of CDML is that it produces highly customised Web pages with dynamic access to FileMaker data. Its weakness is in its proprietary nature: why learn CDML rather than an alternative like ASP, PHP or JSP that can be used with data from any server? Still, if you come at this from the perspective of a FileMaker user needing to extend data access to the Web, this is an impressive technology. As a quick and easy solution, the Web Companion without the use of custom CDML is brilliant.
New to version 6
The 'What's New?' list in FileMaker 6 is surprisingly short - the most significant area is enhanced XML support. Peeking into FileMaker's application directory reveals Xerces and Xalan DLLs, dynamic link libraries from the Apache Software Foundation that provide XML parsing and XSL transformations. This enables a powerful mechanism for importing XML data.
FileMaker has defined its own simple database DTD (Document Type Definition) called FMPXMLRESULT, which is its native XML format. To import XML, you can either have the source application generate data using FileMaker's schema or apply an XSL transformation on the fly, so that any well-formed XML data can be converted. Building a suitable XSL file may not be trivial, but even so it's a useful facility.
The same features are even more useful for data export. FileMaker can export directly either in FMPXMLRESULT or in FMPDSORESULT, a schema compatible with Microsoft's XML Data Source Object for client-side data display in Internet Explorer. However, once again, you can apply an XSL transformation to the data on export, so that other formats such as HTML or an alternative database schema can be created. Alongside CDML, this makes FileMaker a more powerful Web application server. The main snag is that FMPXMLRESULT is rather basic. For example, there are only five field types (Text, Number, Date, Time and Container) with no extra attributes to define the fields more tightly.
Other new features in FileMaker 6 feel more like minor enhancements. For instance, on Mac OS X you can import images directly from a digital camera, and on both platforms you can now store EXIF standard image annotations. There's also a global Find-and-Replace dialog, which will save time in some instances. And Constrain and Extend Found Set is a new feature that lets you filter or supplement the results of a search.
A significant scripting improvement comes with the new Show Custom Dialog script. This lets you build a custom dialog without having to design a form, assigning values to preset options in typical FileMaker style. Mac users will be glad to know that FileMaker now supports OS X services, such as sending text to a mail application, while Windows XP users get fast user-switching support and the reassurance of a 'Designed for Windows XP' logo. There's a format painter in the layout designer, more consistent date conversion and a more secure folder structure in the Web Companion.
The thin feature list in FileMaker 6 is even more surprising when you think what could be on it. Some of the things that might win favour among professional developers would be transaction support, stronger relational features, native SQL support within FileMaker scripts, and event handling on forms so you could trigger scripts on entry or on exit. The script language is overdue for a major reworking - it still lacks support for variables other than global database fields. ODBC and JDBC drivers are a start, but Windows users would like to see OLE-DB or even ADO .NET drivers, and FileMaker could be made far more flexible as a client for external data.
Future releases
The initial release of FileMaker 6 is in the Professional version only. FileMaker server, which scales up to 250 simultaneous users, won't change significantly, but supports all the FileMaker clients from version 5 up to and including 6. FileMaker Developer will now come with version 6, but developer features such as CDML are little changed. FileMaker Mobile 2 is a separate product that allows Palm OS users to synchronise with FileMaker databases, and an update that also supports Pocket PC PDAs is promised later this year.
On the desktop, FileMaker will retain the loyalty of its users because it's unmatched within its particular niche. Even supposedly easy-to-use products like Microsoft Access or Lotus Approach are far more challenging for those who aren't database professionals and, even more importantly, the applications that FileMaker generates tend to inherit its high usability.
It's also worth noting that for mixed Mac and Windows networks, FileMaker is by some margin the easiest route to creating cross-platform database applications. Using Web Companion, Linux or other Unix clients can also be supported. Even so, the FileMaker 6 release is a minor update and the product will fall behind if it doesn't address some fundamental shortcomings.
By Tim Anderson
SPECIFICATIONS:
Pentium or higher, 32Mb of RAM, 120Mb of hard disk space, Windows 98, ME, NT 4, 2000 or XP.