FileMaker Pro 5
Volume Number: 16
Issue Number: 2
Column Tag: Tools of the Trade
by William Porter, Polytrope Solutions, Houston, Texas
Is better good enough?
FileMaker Pro 4.x, released in 1997, was a wonderful product, my favorite
application, packing a fair amount of power into a tool with the best GUI known to man
or geek. FileMaker Pro 5, released in October 1999, is better than FileMaker Pro 4.
So a fortiori, FileMaker 5 must be even more wonderful, right? It depends.
End-users and what I might call pro se developers have always been FileMaker's
primary market, because the product has had a winning combination of power and ease
of use. That does not change in version 5, and these users, who were already pretty
happy with FileMaker 4, will enjoy the enhancements in version 5. Small-time web
publishers will find instant web publishing with FileMaker 5 even easier than before
and a little more secure.
On the other hand, professional developers, who have been hoping for years that
FileMaker would one day release an upgrade that would take the program to the next
level the way the version 3 upgrade did, are bound to be ambivalent at best about
version 5. Some will be downright disappointed. FileMaker 5's single most interesting
feature (XML support) is too much, too soon (and you will need the Developer Edition
to take advantage of it anyway). In other ways, 5's improvements seem like too little,
too late.
This review is addressed mainly to professional developers, those who are developing
or hope to be developing solutions, especially complex solutions, for paying clients.
Please note that the review deals exclusively with the FileMaker Pro 5 Standard
Edition. Neither FileMaker Pro Unlimited (for web deployment) nor FileMaker Pro
Developer Edition have been released yet. But according to the advance information
from FileMaker, Inc. (FMI), FileMaker Pro 5 Unlimited differs from the Standard
Edition mainly in that it does not count the number of IP addresses accessing the
databases. (Unlimited's license is also slightly different and allows you to use it with
third-party CGIs like Lasso, but that is apparently not a technical difference.) And
advance publicity about the Developer Edition indicates that it will not address any of
the problems I discuss here. (In addition to giving developers the ability to build
single-user runtime versions of their solutions - useful mainly for demos - the
Developer Edition mainly provides the APIs needed to develop plug-ins for FileMaker
Pro 5. But the copy of FileMaker Pro 5 that comes with FileMaker Pro Developer
Edition is no different from the copy under review here - same development
environment, same plusses and minuses.)
The Answer To Developers' Prayers?
For many years, developers have complained that FileMaker's development dialogs - in
particular, those for defining fields, relationships, calculations, and scripts - were
too small. Every developer I know had hacked his copy of FileMaker with ResEdit to
make the dialogs larger. So it was not surprising that the audience at the FileMaker
Developers Conference in San Diego last August cheered enthusiastically when it was
pointed out with a flourish that the dialogs in FileMaker 5 are finally resizable.
FileMaker has been listening to us! we thought.
The cheers might have turned to groans had FMI also pointed out that the dialogs do not
stay resized. You have to resize them every time you open them. FileMaker was
listening, but with only one ear. Admittedly, this is a small thing. But it seems oddly
typical of the entire upgrade, so many aspects of which leave one wondering why they
didn't go the extra block and a half and really do it right.
(Not much can be done about the calculation-definition dialog, but you can reduce the
frustration of having to resize the other dialogs every time you open them by creating
a macro in KeyQuencer or QuicKeys to do it for you. Every time I open a resizable
dialog now, I type control-Z, and KeyQuencer zooms it for me to full size.)
Other Little Blessings
There are indeed some very satisfactory improvements in FileMaker 5, such as
relational (or conditional) value lists. A relational value list is nothing more than a
relationship that has been defined specifically for use as a value list. (Since its a real
relationship, you can make use of it in a portal as well, but you probably won't.) Its
most obvious use is to provide different options for different items, for example, a
flannel shirt might come in red and green and four different sizes, while a pair of
shoes might come in black and brown and fifteen different sizes.
The figure shows values in the "option" field that come from another file. The
relationship is based on a match between product ID in the current file and product ID
in the options file. In the figure, the user is viewing the options for the propeller cap
product. The list of options shown here is peculiar to the product "propeller cap." If
you clicked on the record for the Bach tee shirt, the list would show the options "J.C.,
J.S., P.D.Q. and W.F." These values are drawn from records in the Options file. If you
wanted to have more than one relational value list, you would simply create more than
one options file. (A clothing store might allow customers to select size and color.)
Figure 1. A relational value list.
I have one complaint about this feature. It is hard to get these options to sort the way
you would like. I wanted a set of size options to sort as S, M, L and XL, but they always
appeared in the list as L, M, S and XL (alphabetical order). Normal value lists can use
a custom order. Frankly, I was surprised that the values did not display in the order
they were entered in the options file. Still, it's a nice feature.
The most interesting change to FileMaker's GUI in version 5 is the addition of a tabular
display of data. In table view, all the fields displayed on the layout for a record are
displayed in a single row, although you don't lose all of the text and number formats
assigned to fields. (In the screen shot below, notice the dollar-signs in the price and
the bold product names.)
Figure 2. FileMaker Pro 5's new table view.
The options for table view are set in the layout setup dialog. You can allow users to
resize columns or even drag them around. In the figure, the user has just sorted the
product ID field by clicking on it. I like this addition a lot, because it has allowed me to
create a layout that users can safely play with, if they want to create their own simple
reports.
This feature is not without its problems. If you are going to use table view, you will
probably want to give your fields plain English names rather than employ the special
field-naming conventions many developers favor ("cn_statetax" for a numeric
calculation field, for example), since the column titles in table view display the real
names of the fields and cannot be changed. Second, if you wish to offer your user a list
view that you have designed and also a table view, you will probably want to create two
different layouts and place a button on them that toggles the views back and forth. This
is the only way to get column/field titles to appear once and only once in each view. In
the figure above, note that the field titles in bold are placed on the header part and
continue to appear even though in table view, the columns are automatically titled. If
you remove the field titles from the header part, the table view will look better - but
when the user switches back to normal list view, the fields will be without titles of
any sort. The only good solution is to use two layouts.
Finally, when I created a table layout using my own column titles (because I didn't
want users to resize columns), I discovered something very odd: You can control the
appearance of the table columns while in Browse mode, but you cannot control the look
of the columns in layout mode. I had a lot of trouble getting my column titles (text
objects placed on a header part) to align properly with the table columns. I had to keep
switching back and forth between browse and layout modes to see how things were
lining up.
An "improvement" I find less useful, but which others will no doubt appreciate, is the
addition of two toolbars, one for standard FileMaker commands like sort and find and
omit, the other for text formatting. FileMaker 5 is making a play to replace Access as
the preferred database for Office users under Windows, and these toolbars have been
designed to look as Microsoft-like as possible.
Figure 3. The new toolbars.
Last but not least among the little blessings is the inclusion of a special import routine
for updating one file with data from a copy (e.g., updating a master contacts database
stored on a file server from recent data stored in the contacts database on a
PowerBook). You specify one or more match fields, then define which of the other
fields you want to import.
FileMaker Pro 5 on the Web
Perhaps it is because I am a Lasso developer that I am unimpressed by the
improvements in FileMaker 5's web-publishing tools. Or perhaps it is because they
are just not as good as they sound at first.
The bad news here is that, if you are using the Standard Edition to publish your data on
a TCP/IP network (internet or intranet), the host copy of FileMaker will accept
remote connections from no more than ten IP addresses during a "rolling twelve-hour
period." This is a fairly novel way of distinguishing products and I suppose it reflects
the difficulty of figuring out how to license web-application software. With FileMaker
Pro 4.x and the Web Companion, for about $200 (street price), you could publish a
database and users around the world could actually connect to it, view its data, create
and edit records, and so on. You did not even have to buy a full web server such as
WebSTAR. To do the same thing with FileMaker 5, you'll need to spend five times as
much to get FileMaker 5 Unlimited. This has caused a certain amount of complaining
among users familiar with FileMaker 4. But these changes in the pricing of the
products seem reasonable to me. FMI was giving the goods away before.
Nevertheless, the limitation in the Standard Edition is so severe that it is a little hard
to understand why FMI bothered including any sort of web-capability with the
Standard Edition at all. Note that the restriction refers to IP addresses, not users.
Unless your expectations are extremely low, this makes Standard Edition more or less
useless as a Web-publishing tool. The Web is supposed to be all about connectivity, but
web publishing with FileMaker 5 Standard Edition has to be about discouraging
connections. A single user with a dialup connection to his ISP might exceed the ten-IP
limit all by himself, if he disconnected and connected repeatedly and received a
different dynamic IP address each time he reconnected. This is not a far-fetched
scenario if the user is, say, a travelling salesman dialing into the home server to place
orders. A single user bent on mischief could do the same thing on purpose and lock up a
database. Standard Edition's web-publishing ability seems useful mainly on a
departmental intranet, where a small number of fellow workers with fixed IP
addresses will be able to access a shared database using their browsers, thus
eliminating the need to purchase extra copies of FileMaker. It is important to keep
these limitations in mind, since FMI's advertising emphasizes FileMaker 5's
web-publishing capability.
The good news is that you get to publish your databases using your own layouts - more
or less. In other words, you do not need to create web pages in Home Page or GoLive to
have a custom look to your pages, and you do not need to write any HTML.
Once again, however, the reality is not quite as neat as the press release would make
you think.
For one thing, at the present time, it does not work in Netscape at all. (Apparently the
trick of displaying database layouts on the web involves the use of some proprietary
Microsoft CSS1 tags.) And my numerous experiments with it under both Windows 95
and the Mac OS lead me to conclude that it does not work 100% of the time even under
Microsoft Internet Explorer 4.5 or higher.
For another thing, your user will not see your database's layouts exactly. He will at
best see your layouts surrounded by a standardized FileMaker 5 web-publishing
frame, which provides the various command buttons the user needs to do anything with
your database. Since there are only a handful of these frames built into FileMaker,
databases published using Instant Web Publishing are still all going to look alike. (The
frames are supposed to have been "professionally designed," but even to my amateur
designer's eye they look pretty bland.) Furthermore, we are talking look here, not
functionality. Buttons on your layout that are tied to scripts will appear on the web
pages but will not work. Only simple, not-script buttons such as a button that
switches to another layout will work on the web page. This means that in the end, you
will be creating special layouts for your web pages anyway.
It must also be noted that FileMaker Pro 5's web security is still weak. New in this
version is the ability to specify that a file can be shared only with particular IP
addresses. This is valuable. Of greater importance however is what is not new: the fact
that Web Companion action that you trigger in your browser causes a wealth of
information about your database to be displayed in the browser's location or status
areas - the name of your database, field names, layout names, and so on. This is what
appeared in Internet Explorer's location field when I searched for the Bach tee shirt in
the products database that I created for this review:
http://10.10.10.10/FMRes/FMPro?-db=line%20items&
-op=bw&products%3a%3aproduct%20name=bach&-lop=and&
-format=zFormVwCSS.htm&-lay=ProductDetail&-max=1&
-skip=0&-token.0=25&-token.1=&-find
This line reveals the name of the database ("line items"), the name of a relation
("products::") which one might reasonably guess happens to use the name of yet
another database, a field name ("product name"), and the name of a layout
("ProductDetail"). If you published your database using Lasso instead of the Web
Companion, and if you used Lasso inlines instead of the old-fashioned Lasso tag syntax,
you could hide this information from the user completely and permanently. It wouldn't
even appear in the source code for your pages.
It is clear that FileMaker, Inc., sees the Web as FileMaker's future. I can't say that it
is FileMaker's present, however. If you are getting married and you want to create
your own online gift registry and host it on the iMac in your apartment, FileMaker
Pro 5 Standard Edition would do the job splendidly - unless you have a lot of friends
and relatives. For anything much more sophisticated than that, you are going to be
looking elsewhere. If you want your web pages to look professional, you're going to
have to get a professional page-design tool like Dreamweaver or GoLive and do the job
right. If traffic on the site will exceed 10 IPs in 12 hours, you'll need to spend the
grand for the Unlimited Edition. And if the site experiences even moderately heavy
hits, you will want to employ middleware such as Lasso or Tango to take the burden off
FileMaker, whose performance as a web application server does not appear to be
improved in version 5. Neither the Standard Edition nor the Unlimited Edition is
multithreaded, meaning that by itself, FileMaker 5 is no more capable of handling
moderate to heavy traffic than FileMaker 4 was. (Apparently FileMaker 5 supports
load-balancing, but that's been possible for a while with other CGIs.)
Lastly, I want to mention FileMaker Pro 5's support for XML. XML ("eXtensible
Markup Language") is a cousin of HTML, "HTML done right," as one authority puts it.
XML has a great number of uses, but it is attracting more and more attention as a way
to share and format data on the Web. When the dust settles, this could turn out to be the
most important dimension of FileMaker 5. Unfortunately, at the present time it is
hard to say much about this, partly because the documentation for FileMaker Pro 5's
XML support has not been released (it will come with the Developer Edition) and
partly because at the present time, only Microsoft Internet Explorer 5 for Windows
supports XML at all.
Playing Nice with the Other Applications
Limited, one-way ODBC capability appeared first in FileMaker 4.1, which could query
data sources such as Access databases and Excel spreadsheets and import data back from
them, but could not add records to a remote data source. FileMaker Pro 5's ODBC
support is largely limited to ODBC level 1, but is now two-way. FileMaker Pro 5 now
supports the SELECT, INSERT, UPDATE and DELETE SQL statements. It does not support
the statements for creating tables and indexes, or dropping tables and indexes. This
means that FileMaker Pro 5 can interact with other data sources in an enterprise, but