This month we’ll take a break from the tutorials on scripting that we’ve been in the midst of, because FileMaker, Inc. has released a new version of their product, version 8.5. FileMaker Pro 8.5 is available for $299, or $99 to upgrade from FileMaker Pro 8. The Advanced version retails for $499 and is also a $99 upgrade from Advanced 8. In addition to now being a universal binary for PowerPC and Intel Macs, a number of new features have been included.
The big new feature in FileMaker Pro 8.5 is the Web Viewer control. You can think of this layout object as a container field that displays a Web page, which can exist either locally or on the Internet. The page accessed can be a static address or one that results from a calculation, which is where the real power of the feature comes in.
For example, you could create a help system with the content on a Web server. When the user needs assistance with a feature, the help system in FileMaker accesses the Web content based on the area of the file the user is in. Updating the content on the Web server will automatically allow your users to see the new content without having to update the FileMaker document they have.
FileMaker provides a number of useful URL templates for accessing some popular Web services, so another possible use would be to provide a Google map that is dynamically shown based on an address in the database.
New script steps have also been added for setting what page the Web Viewer displays, including steps for reloading and moving back in the history of displayed pages. In this way, back and forward buttons can be provided just as in any Web browser.
In addition to Google Maps and Directions, there are templates for MapQuest, Google search, Federal Express, and various wiki sites. Simply fill in which fields should provide information to the template (such as the address, city, state, etc.), and the Web address will be calculated dynamically.
One very nice feature is that the source for the Web page is available, which allows the integration of specific Web content (i.e., city and state information given a zip code database from the Web) into the rest of the database. This is accomplished by giving the Web Viewer a name (using the new object names feature discussed below) and then extracting the source code for the page with the GetLayoutObjectAttribute() function. Using this, I would expect that it would be possible, for instance, to pull out just the map image from Google Maps.
The other major new feature is that every object on a layout can now have a name. Before this, scripting the navigation of tabs and portals was a bit clumsy, although possible. With the naming of layout objects and the addition of the Go to Object script step, such things are a bit easier.
In addition to the Go to Object script step added in support of layout object names, a number of new functions have been included: Get( ActiveLayoutObjectName ) for determining which layout object the user is in, and GetLayoutObjectAttribute() for getting information about a named object.
A new function, List() has been added, which returns a return-separated list of the values in fields passed to it. The most useful application of this that I can see would be to return a return-separated list of all the values in all the records related to the current record. For instance, if a contact record has three related phone number records, something like List(PhoneNumbers::Number) might return (951) 555–1111¶(951) 555–2222¶(800) 555–3333.
In addition to the above, one feature being touted is the FileMaker Learning Center, which isn’t so much a new feature as a new area of FileMaker Inc.’s Web site, although it’s directly available from the Help menu while in FileMaker Pro. The Learning Center is a repository of information useful to developers, such as video tutorials and articles on advanced uses for FileMaker. As far as I can tell, this information is available without upgrading to FileMaker 8.5, so you might check it out before you consider purchasing the new software.
The new features seem to be well implemented, but it’s also disappointing that FileMaker still doesn’t remember column widths in dialog boxes, such as the field tab in Define Database or the Define Custom Functions dialog. For years it has remembered the size of the dialog, but storing the column widths is still unavailable. Dismissing a dialog box and reopening it returns the column widths to their default sizes.
Finally, there seems to be very little added to FileMaker Pro 8.5 Advanced. The Database Design Report has been enhanced to take into account the new script steps and functions. Also, the plugin API for Xcode has been updated to create universal binary versions. Having recently worked with other development environments such as REALbasic and Xcode, I think that features such as code completion and even just text editing of scripts would have been very welcome.
Unless you have some urgent need for the Web Viewer control, I can see little reason to upgrade from FileMaker 8 to 8.5. 8.5 is still a wonderful jump from 7, but, with the exception of the Web Viewer, the additional features, while making some tasks easier, don’t really add any functionality to solutions created with FileMaker.