Previous Issue | Search TidBITS | TidBITS Home Page | Next Issue
FileMaker Pro 7 arrived last week with significant changes to the popular database application. In this super-sized issue, William Porter reviews the new version and explains why it's such a big deal. Then Joe Kissell revisits the FireWire data loss problem that has affected some people upgrading to Panther. Matt Neuburg covers the releases of DEVONthink 1.8.1, Affrus 1.0, StyleMaster 3.5, FaceSpan 4.0, and NoteTaker 1.8; we also spotlight a few of Adam's recent radio interviews and note that the iTunes Music Store has hit 50 million downloads.
Copyright 2004 TidBITS: Reuse governed by Creative Commons license
<http://www.tidbits.com/terms/> Contact: <firstname.lastname@example.org>
This issue of TidBITS sponsored in part by:
Make friends and influence people by sponsoring TidBITS!
Put your company and products in front of tens of thousands of
savvy, committed Macintosh users who actually buy stuff.
For more information and rates, email <email@example.com>.
READERS LIKE YOU! Help keep TidBITS great via our voluntary
contribution program. Special thanks this week to Jim MacNeal,
Stefan Brantschen, and Akio Tanaka for their generous support!
SMALL DOG ELECTRONICS: iBooks On Sale!
iBook G3/800/AirPort $749! iBook G3/800/AirPort/640 MB RAM $815
iBook G3/900 14 inch 256/40/Combo/56K/AirPort $1059!
Visit: <http://www.smalldog.com/tb/> 802-496-7171
FETCH SOFTWORKS: The original FTP client for the Macintosh
is better than ever before. Use it to upload, download, mirror,
and manage your web site, eBay images, and data sets.
Download your free trial version! <http://fetchsoftworks.com/>
Discover, Master, and Unleash the Music in You!
The Big Mix from Aladdin Systems delivers nine awesome titles
in one complete audio package. Get the Big Mix for only $69.99.
Dr. Bott, LLC: We got into this business because we love
computer stuff. We now have the chance - the DUTY - to sit and
geek out with technology every day under the guise of "work."
And if it's cool enough, we sell it. <http://www.drbott.com/>
Web Crossing: new Team Crossing 3.0 takes advantage of plug-in
architecture and easy customization. Web Crossing-based Team
work-areas can add plug-ins for blogs, wikis, & more. Fast and
powerful. Try our demo! <http://www.webcrossing.com/tb-204>
Bare Bones Software TextWrangler 1.5 -- General-purpose tool for
composing, modifying, and transforming text. Now with full
AppleScript support! US$49. For more info, to download a demo,
or to purchase a copy, visit <http://www.barebones.com/>.
Apple Releases Mac OS X 10.3.3 -- Just as we were about to go to press, Apple released the latest free update to Mac OS X 10.3. Version 10.3.3 offers a long list of enhancements (see Apple's Knowledge Base article), but one we're pleased to see is the inclusion of network-mounted volumes in the list of volumes shown in the sidebar of Finder windows and Open/Save dialogs. The update also incorporates other networking fixes and improvements for cross-platform compatibility and AppleTalk; improves .Mac iDisk synchronization performance and behavior; provides fixes for Finder, DVD Player, iPhoto, Mail, Address Book, and Image Capture; and improves start-up time for some computers that were slowed down by the 10.3.2 update. Mac OS X 10.3 Panther owners may upgrade via Software Update (58.8 MB) or download a standalone installer from Apple. [MHA]
The Devonian Age Continues -- Hard on the heels of last week's review of DEVONthink 1.8 comes version 1.8.1, offering the capability to index a document on disk without also importing it into the database; this meets my criticisms that the database is unnecessarily large and that deleting an original document to save disk space risks losing the data. Also, DEVONthink now displays the contents of linked files if the format allows (e.g. text, RTF, image); unfortunately this removes a feature I liked (you could edit the database "text" of a linked file), and searching in comments is broken, so this is actually a step backwards in my view. It's a 2.7 MB download and is a free update for registered users.
At the same time, DEVONtechnologies introduced DEVONthink's "little brother," DEVONnote. It is limited to the basic two-pane view of the database, with a list of documents in one pane and the contents of the current document in the other. It lacks display of images and PDF files; however, it still functions as a text and RTF editor (and images can be included within an RTF document), it can include links to files on disk, and it can display Web pages. DEVONnote lacks DEVONthink's new capability to index without importing, and the advanced search tools such as finding similar search terms, displaying word lists, and supplying keyword lists. But it still has DEVONthink's extremely fast basic searching, along with searching for similar documents and classifying based on similarity of grouped documents. It could be a bargain at $15 until the end of April ($20 after that). [MAN]
iTunes Music Store Tops 50 Million Songs Sold -- Apple announced today that the iTunes Music Store had hit its 50 millionth song sale, and was averaging 2.5 million songs sold per week, about half in the form of albums. In an interview this morning, Apple vice president Rob Schoeben said, "The milestones that we're hitting are not just the passage of time," but the store has been ratcheting up with major events, such as adding the Windows iTunes software, Christmas sales, the iPod mini launch, and the Pepsi promotion.
Schoeben noted that the band Green Day released an exclusive single on iTunes, which shot to the number one position on the store within a day and stayed in the top three for three weeks. (Pepsi's use of the song in a commercial for the iTunes promotion, which ran during the Super Bowl, no doubt helped spread the word.) Radio stations picked up the song without any other form of the single's release. [GF]
The New Face of FaceSpan -- After a long hiatus, FaceSpan has returned in a new version completely rewritten for Mac OS X. FaceSpan 4.0 is an application construction kit with AppleScript as the programming language: you "draw" your interface, you write AppleScript code in scripts attached to the interface items, you compile, and presto, you've got a stand-alone application. Like Apple's AppleScript Studio, FaceSpan is written in Cocoa, it builds Cocoa applications, it can call Cocoa (Objective-C) methods, and it uses the AppleScriptKit dictionary.
Of course, AppleScript Studio has the advantage of being free (see "AppleScript's Studly Studio" in TidBITS-610). But FaceSpan is small (less than 8 MB), self-contained, and easy to use - so easy that I wrote my first application without even reading the manual. (Okay, so all it did was add two numbers together, but that's a start.) One reason for its simplicity is that the interface is remarkably intuitive; another is that a script can be attached to an individual control, and stands in an inheritance relationship with the container of that control - for example, a button in a window has a script that can "see" the window's script, similar to HyperCard. Optionally, FaceSpan also integrates with Late Night Software's Script Debugger 3.0.8 for much better debugging than Apple provides. FaceSpan comes in two versions: the full version is $200; the "lite" version is $90, and limits any compiled applications to running on a computer where FaceSpan is installed. Owners of previous versions can upgrade for $100. [MAN]
Perl Made Easy with Affrus 1.0 -- Late Night Software has a history of picking up where Apple leaves off. Mac OS X includes AppleScript, but Apple's own Script Editor isn't all that great as an editing environment, and it can't debug at all. Late Night's Script Debugger makes up for this, making AppleScript easily editable and debuggable. Late Night Software has continued in the same vein with the announcement of Affrus, which does the same for Perl. (Conflict of interest disclaimer: I wrote the manuals for both programs.)
Perl is a popular Unix scripting language; Mac OS X includes Perl, but has no native application for easy editing and debugging of Perl scripts. Affrus meets this need. You can step through Perl scripts, or run to breakpoints that you set, evaluating expressions and examining variables in their runtime context. Syntax coloring clarifies the script's meaning; a pop-up menu lets you navigate to a subroutine's definition, even if it's in an external module. Affrus costs $100 and requires Mac OS X 10.2 Jaguar or higher; a 30-day demo is available as a 4.9 MB download. [MAN]
Style Master 3.5 Works Web Site Wizardry -- Western Civilisation's Style Master has long been my favorite application for creating, editing, and previewing Cascading Style Sheets (CSS) in Web pages (see "Precision Web Pages with Style Master" in TidBITS-501). It encapsulates a difficult language in an easy interface; put another way, it knows CSS so you don't have to (although you can certainly use it to edit your CSS directly if you wish). And now, you really don't have to know any CSS, because the version 3.5 includes "wizards".
A wizard is a dialog sequence; it guides you through choices about how you want your Web pages to look (font, margins, borders, and so forth), and then generates the corresponding CSS and some HTML to illustrate those attributes. And, beyond the level of general page layout, wizards are also included for such common page elements as site navigation bars and "breadcrumbs" (links showing where the user is located within your site). If even wizards are too much trouble, you can just use one of a dozen included pre-built CSS page templates (provided under a Creative Commons license). There is also now built-in page previewing, along with CSS validation within Style Master or online using W3C's validator. Now anyone can set up great-looking, valid CSS-based Web sites in about a minute. Style Master requires Mac OS X 10.0 or higher, and costs $60; this update is $40 for existing owners. A 30-day demo is available as a 5.8 MB download. [MAN]
NoteTaker 1.8 Hits More High Notes -- AquaMinds has released version 1.8 of their flagship notebook/outliner program, NoteTaker (see "Take Note of NoteTaker" in TidBITS-677). This version introduces the capability to export to XML, using a new markup specification called NTML (Note-Taking Markup Language); such export can apply an XSL transform on the fly, and as a proof of concept, a transform to Keynote format (APML) is included. Other new features take advantage of technologies in Mac OS X 10.3 Panther: there is import/export to Word (.doc) format, and NoteTaker can now be used as a Web browser - including the ability to type into a search field to do Web searches using any online engine (like Safari's "Google" field on steroids).
Hovering the mouse over a link to a page or entry and pressing the Option key brings up a floating window displaying the contents of the target, so you can read the linked material without actually going there (who says you can't be in two places at once?); if the link is a Web URL, the page's title is fetched and displayed. You can now designate any folder as a "library": NoteTaker will list, in a drawer or dialog, every page of every NoteTaker document found there, for easy access. Many other existing features are improved or tweaked, various speed and efficiency improvements have been incorporated, and the first draft of a nice-looking PDF manual is included. NoteTaker 1.8 is $70, and is a free upgrade for existing users. A 30-day demo is available as a 14.7 MB download. [MAN]
Adam's March Radio Shows -- I've done guest spots on a pair of radio shows recently, so if you'd like to hear my conversations regarding Wi-Fi security, the recent worm plague, our move to Web Crossing, Take Control, and what's happening in the Mac industry, listen to Gene Steinberg's Mac Night Owl show from 05-Mar-04 (you may need to load the show URL directly into QuickTime Player, and I'm in the second half), and Scott Sheppard's Inside Mac Radio show on 13-Mar-04 (again, I'm in the second half). [ACE]
by Joe Kissell <firstname.lastname@example.org>
When Apple released Mac OS X 10.3 Panther last October, many people (though by no means all) had serious difficulties with their FireWire hard drives. Affected users found that, after restarting their computers under Panther with the drives connected, the drives become completely inaccessible - unable to mount on any operating system, and so badly damaged that even disk recovery applications could not retrieve their data.
Not long after the problem surfaced, Apple acknowledged an issue affecting FireWire 800 hard drives that use the Oxford 922 bridge chipset with firmware version 1.02 or earlier. Manufacturers of such drives quickly released firmware patches, and Apple took steps to resolve the problem from their end as well. The Mac OS X updates (beginning with 10.3.1) provide "improved reliability" with FireWire 800 drives, though Apple still recommends that you update the firmware on such devices. (See "Fixes Available for Some Panther FireWire Troubles" in TidBITS-704 and "Apple Updates Panther to 10.3.1" in TidBITS-705.)
Data Loss with FireWire 400 Drives -- All this is old news to most TidBITS readers. But for the past several months, users of FireWire 400 drives have wondered whether they can safely upgrade to Panther yet. Neither Apple nor hard drive manufacturers ever officially acknowledged a data loss problem with FireWire 400 drives, yet a number of users, including at least one Take Control author, have experienced exactly the same symptoms with some FireWire 400 drives. Although the root cause appears to be different - and the problem less widespread - the data loss, when it occurs, is no less serious.
Whereas the FireWire 800 problem was easily reproducible, failures of FireWire 400 drives seem to be random. A given drive model may work correctly on one machine and fail on another that appears to be configured identically. In general, the reports I've read show a higher tendency for problems to occur on systems with multiple FireWire devices chained together or attached to a bus-powered hub, especially if one device is an iSight camera. (Apple's iSight 1.0.2 update may fix this.) Also, drives that support both FireWire 400 and 800, or FireWire 400 and USB (1.1 or 2.0) appear to experience problems more frequently than drives that support only FireWire 400. Lastly, computers that support FireWire 400 but not FireWire 800 are typically less likely to experience this problem.
I've laced my description with fudge words such as "seems," "tendency," and "typically." Unfortunately, none of the experts I consulted knew what causes this problem. Drive manufacturers have spent countless hours testing without reaching any conclusive results. And thousands of users - including me - never had a problem with their FireWire 400 drives (from a variety of manufacturers). Even so, the iPod is the only FireWire 400 device I know definitively to be immune to this problem.
Recommendations for FireWire 400 and Panther -- In version 1.1 of "Take Control of Upgrading to Panther" last November, I recommended against using FireWire 400 drives with Panther until more was known - or failing that, to be sure the drive was never connected when the computer started or woke from sleep. Given the relatively infrequent occurrence of this problem, I feel comfortable tempering my suggestions somewhat.
If you want to upgrade your computer to run Panther while continuing to use a FireWire 400 drive, follow these guidelines:
Back up everything on the drive to DVD, CD-R, tape, or some other medium other than another FireWire hard drive before installing Panther.
Check your drive manufacturer's Web site to see if a firmware update is available. If so, apply it (preferably before installing Panther) - even if the manufacturer does not mention whether the update addresses this issue.
If you are not installing Panther on the FireWire drive itself, disconnect the drive from your computer until after you have installed Panther and updated it to version 10.3.2 or later.
Avoid chaining FireWire devices together, especially if a chained device lacks its own power supply. If you have more FireWire 400 devices than your computer has ports, use a powered hub - or better yet, if you have a PowerBook or Power Mac, add a second FireWire bus using a PCI or PCMCIA card.
If you must use a FireWire 400 drive but cannot back it up or avoid chaining devices together, consider these additional precautions:
Be sure the drive's FireWire cable is unplugged when you turn on your computer.
Before shutting down, restarting, or putting your computer to sleep, unmount any volumes from the FireWire drive and unplug the drive's FireWire cable.
If your computer is set to sleep automatically, temporarily disable this feature in the Energy Saver pane of System Preferences.
Plug in the drive only when Panther is running. Again, be sure to unmount the disk and disconnect the FireWire cable when you finish using the drive.
What If My Hard Drive Is Already Fried? Conventional disk repair applications such as Disk Utility, Norton Utilities, TechTool Pro, and even DiskWarrior cannot repair drives that have encountered this problem or recover data from them. Quite a few users have reported success using Prosoft Engineering's Data Rescue X, however. If even that fails, you may need to send your drive to a data recovery service such as the highly regarded (but not inexpensive) DriveSavers.
"Take Control of Upgrading to Panther" -- Advice for users of FireWire 400 hard drives is just one of the topics I expanded greatly in the latest edition of "Take Control of Upgrading to Panther." Now at version 1.2, this 89-page ebook covers all the steps you need to follow for a worry-free upgrade to Panther from any earlier version of the Mac OS. Most of the new content comes in direct response to inquiries I received from readers. Even if you've already upgraded your computer to run Panther, you will find extensive troubleshooting tips, suggestions for storing frequently used files somewhere other than your startup volume, and information to help you understand and cope with some of Panther's most surprising changes. I hope you find the book helpful!
[Editor's note: As is our policy, anyone who purchased an earlier version of Joe's ebook may receive this update for free. To that end, we notified all purchasers of the new version last week via email (and nearly half of our readers have downloaded the update already!). However, a number of messages bounced due to changed email addresses and spam filters, so if you didn't receive notification, please use the form at the bottom of our Ordering Tips page to ask me for help. Also note that we've started a referral program for readers; click the button on the cover page of this update to Joe's ebook to send a 10 percent discount coupon to a friend and receive 10 percent off your next order as well. Thanks for helping to spread the word about Take Control! -Tonya]
[Joe Kissell is a writer, consultant, and Mac developer living in San Francisco.]
by William Porter <email@example.com>
I wouldn't describe the last several versions of FileMaker Pro as ho-hum, but I wouldn't exactly call them exciting. The addition of XML support in FileMaker Pro 6 was so revolutionary an enhancement that most developers still don't know what to make of it two years later. Otherwise, version 6 felt like a maintenance release, with a few new status functions, the capability to import photos directly from a digital camera, a Find and Replace command, etc.
As a result, many people who aren't already in the know will be surprised - no, scratch that - shocked to discover that the just-released FileMaker Pro 7 is dramatically, profoundly and comprehensively different from its predecessors. Different and, I hasten to say, better.
Now, the difference is not primarily a matter of new or changed features, although there are more of those than I can mention here. It's more a matter of a new way of thinking. Experienced FileMaker developers learning to work in FileMaker Pro 7 may feel like Texans accustomed to attacking their food with steak knives, now forced to eat noodles with chopsticks. Chopsticks are not just a different tool for picking up food: they're designed for a different cuisine, behind which there is a different conception of what constitutes a meal. The same applies to FileMaker Pro 7. We're not just going to be building databases differently, we're going to be building fundamentally different kinds of databases.
To Upgrade or Not to Upgrade? FileMaker Pro 7 and FileMaker Developer 7 are available immediately. New licenses for FileMaker Pro 7 cost $300, and a special upgrade offer available through 17-Sep-04 makes upgrades available for $150 for previous versions of FileMaker all the way back to FileMaker Pro 2.1. After 17-Sep-04, only FileMaker Pro 6 owners will be eligible for the upgrade pricing. FileMaker Developer 7 costs $500, with a $100 rebate available to previous owners. Special deals are available for some buyers, so be sure to check FileMaker, Inc.'s Web site.
If you are already using FileMaker Pro, this upgrade is something you will want at some point. But you should proceed deliberately, particularly if you're an end-user or are involved on the IT side of hosting and maintaining database solutions.
The main reason not to install FileMaker Pro 7 on all your computers tomorrow is that it's hard to predict whether any given solution will come into FileMaker Pro 7 singing "Hallelujah!" or kicking and screaming. Some (perhaps many) old solutions will convert with relatively little effort. But many will not. In my limited experience, any moderately complex solution is likely to require some effort before conversion, and perhaps afterwards, too. FileMaker, Inc., has a wealth of information on the subject of conversion on its Web site. Read it, or weep. And in the meantime, you can eat your cake and have it, too, because FileMaker, Inc., has adjusted its license to let upgraders get started with version 7 while continuing to run old solutions under version 6; both versions can run simultaneously without trouble.
If your solution is shared on a network, you need to consider something else: you can't share FileMaker Pro 7 databases under the current FileMaker Server 5.5, and FileMaker Server 7 won't be out for a couple of months.
FileMaker Pro 7 requires Mac OS X 10.2.8 and later (or Windows 2000/XP). If you are using an older operating system, you may need to upgrade your operating system, or even your Mac, before installing FileMaker Pro 7.
What's in It for End Users? You museum curators and small-business managers, secretaries and paralegals, salesmen, doctors, engineers, teachers, accountants, and publishers - you folks are FileMaker Pro's principal customers. You may not get your hands on FileMaker Pro 7 for weeks or months, but there are improvements to look forward to.
In FileMaker Pro 7, you can view the same data in multiple windows. This means you will be able to view the same found set of records in both form and list view, or view lists of two entirely different found sets.
When you finish editing a record in FileMaker Pro 7, you may now be asked if you want to save your changes. Have you ever made a bunch of changes in a record, then changed your mind? Or, worse, realized you had edited the wrong record? In FileMaker 7, click Don't Save to restore the record to its former state.
What if you need to edit a record urgently, but Jenkins in marketing got there first? With FileMaker Pro 7, you can send Jenkins an instant message asking him to put down the record and back away from the database. Now it's more fun to be the boss.
Is your budget tight? FileMaker Pro's built-in Instant Web Publishing feature is now actually useful. Turn it on and share the database over your workgroup's intranet. What your colleagues will see in their browsers looks very close to what they'd see sitting in front of a client copy of FileMaker Pro. Instant Web Publishing is good for up to five concurrent users; FileMaker finally eliminated that old 10-different-IP-addresses-in-a-rolling-12-hour-period silliness.
I'm not sure whether this is something that end users have been clamoring for, but container fields can now store almost anything except lunch leftovers. We are not just talking photos and QuickTime movies here, but Word and Excel documents, PDFs, MP3s, even other FileMaker Pro databases. Click on a container field and use the appropriate command in the Insert menu. This gives FileMaker Pro the capability to become a real document management system. Files stored in a FileMaker Pro 7 database do not have to be accessible to users on a shared network drive. And you can use FileMaker's security to control the access users have to stored files.
Speaking of security, the security model in FileMaker Pro 7 is entirely new. End users who must login to shared databases are now asked to provide an account name as well as a password. There is really important news here but it's technical and a bit premature, since the new security features won't come into their own until FileMaker Server 7 is released. Suffice it to say that managers, IT/IS staff, and developers working together will be able to make access to your valuable data simpler and safer than ever before.
I could go on, but in all honesty, the most radical changes in FileMaker Pro 7 are not obvious on the surface. A few cosmetic changes in the status area and dialogs have been implemented, and Mac OS X users get the toolbar back. But otherwise, if you have never defined a relationship or written a script, FileMaker Pro 7 will look very familiar. End users are the ultimate beneficiaries of everything good in FileMaker Pro 7, but those benefits will be indirect.
So What's In It for Developers? If you are a developer, you may find FileMaker Pro 7 a mixed blessing. On one hand, you have been given a new tool that's an order of magnitude more powerful than what it replaces. On the other hand, almost everything you knew a week ago is obsolete.
There are scores of new functions, including an Evaluate function that can perform a calculation based on the contents of a field, and a Let function that lets you define and use variables on the fly inside a calculation formula. Buttons can pass parameters to scripts; for example, the same button, placed on different layouts, can pass the current layout name to the script it's calling and produce a different result in each case. If you work inside FileMaker Developer, you can now define custom functions and store them in the file so they can be used when the solution is opened in FileMaker Pro. Text in the middle of a field can be formatted via calculation, for example, to highlight a search string. You can add comments to calculation formulas using either C or C++ formats. And there are even more improvements along the same lines.
But, important as these enhancements are, they aren't the big news. The big news in FileMaker Pro 7 has to do with file structures and relationships.
One File, Many Tables -- FileMaker Pro 7 now distinguishes between database files and tables, and more important, a single database file can now store multiple tables. How many tables? A million, which is more than you will ever need. And now that FileMaker has something that can properly be called "tables," we're finally free to use the word "database" more or less the way the rest of the world uses it.
Multiple tables in the same file, combined with new features like script parameters and some of the new functions, mean that it's possible to write more generic, more modular scripts than ever before. In one 14-file solution that I wrote, a whole slew of scripts in each of the 14 files do essentially the same things: go to list view, perform a scripted search with input from the user, etc. In the FileMaker Pro 6 version of my solution, each of these scripts must exist in each file separately. If I decide to improve the find-records script in one file, I have to edit it in the other 13 files as well. In FileMaker Pro 7, much of this duplication of effort is unnecessary.
You do not have to store everything in one file. Files can refer to one another and access one another's tables. FileMaker Pro 7 takes advantage of this fact when it converts your existing multi-file solutions: each individual file in the old solution becomes an individual, one-table file in the new solution. These files are related in a group of small, file-to-file relationships, pretty much the way they were related before. In many cases, this is a benign but undesirable consequence of the solution's origin in the earlier version of FileMaker Pro. If you want to consolidate these individual files, New Millennium's FM Robot utility can do the job automatically. But in many cases, if you or your client can afford it, rebuilding old solutions from scratch will be desirable.
The Separation Model -- When one file references another file, it references everything in that file. In other words, if one file, called
My_Data.fp7 has 22 tables in it, another file called
My_App.fp7 can access every one of those tables as if they were stored internally rather than externally. What does "reference" mean here? It means that
My_App.fp7 can contain layouts that provide form and list views of each of the tables in
My_Data.fp7. Not list as in "portal" - a limited interface element familiar to current FileMaker users - but list as in a real list, a list that can print nicely on page after page, a list that can be displayed with subsummary totals.
My_App.fp7 can do this even if it does not contain a single table itself. It might contain nothing but layouts and scripts, all taking advantage of the tables in
Can you see where this is going? In FileMaker Pro 7, it's possible to put the data in one file, and all the programming resources - layouts, scripts, value lists, summaries - into a separate file. Separating data (and the data structure) from the stuff you do to analyze and display the data brings an enhanced clarity to the development process. It's also a huge boon for any client whose developer is working remotely. When it's time to update that solution with 6 million records, the IT guy takes the solution off line, throws out the old front-end file, puts the new front-end file in its place, and places the solution back online. Downtime: five minutes, tops.
FileMaker developers have been talking about "The Separation Model" for years, but it was more of a dream than a reality, due to the limitations on the ways in which one file could access, manipulate, and display another file's data. Line-item reports can't be printed effectively from portals, so you usually had to jump to a data file to print line items (like invoices or class rosters). And that usually meant you had to include scripts in the data file to sort the records and display them on a report layout.
But in FileMaker Pro 7, since one file can logically incorporate all the tables in another file and make use of them as if they were stored internally, these impediments to true separation no longer exist. The main remaining obstacles to The Separation Model are the need to deal with unanticipated fields and user modifications to accounts and passwords, but a lot of smart developers are working on these problems. I have a solution on my PowerBook right now that implements The Separation Model completely. It's somewhat modest, but it works.
The Separation Model won't be adopted by every developer. Many developers will be so thrilled to be able to put everything in a single file that they won't want to think about the alternative, at least not for a while. Even those who embrace it may not use it in every solution, in part because it may unnecessarily increase the amount of data that needs to be backed up regularly. But the sky's the limit now as far as file size goes. FileMaker Pro database files can balloon to 8 terabytes (if you have an Xserve RAID to store it on). As FileMaker Pro databases grow ever larger, the advantages of The Separation Model may become more obvious and more compelling.
Can You Relate? I think the capability of one file to incorporate another file's tables is the most significant single change in FileMaker Pro 7. But the change that many developers so far seem to be most excited (or confused) about is the change in the way that relationships are defined and managed.
FileMaker Pro 1 was a flat-file database. Everything went into one file containing only one type of record. In FileMaker Pro 2, it became possible for one file to lookup data in another file and copy it. This wasn't real relationality, but we didn't care. We hugged lookups in our arms tightly and ran toward the goal post with them, screaming all the way. Ah, 1993!
In version 3, FileMaker Pro became relational, sort of. It was certainly more relational than version 2. The sharing of data from one file to another was automatic (whereas lookups had to be triggered), related data wasn't stored twice (as it had been with lookups), and you could edit one file's data directly in another, related file. Developers took this new capability and did some truly amazing things with it.
But this was an idiosyncratic kind of relationality. For one thing, relationships were unidirectional. You could relate INVOICES to LINE ITEMS, but that just meant you could see line items from the invoices file. If you wanted to see invoice data (such as the invoice date) from the line items file, you had to go to the LINE ITEMS file and define the relationship a second time. It was a bit like needing to conduct a wedding twice: once for the groom and once for the bride. Worse, if you wanted to display a value from PRODUCTS in the portal in INVOICES that displayed line item records, you had to create a calculation field in the line items file to capture that value and pass it up the relational line. It was like being unable to borrow sugar from anybody but your next door neighbor. The old relational model was a cool kludge, but a kludge nonetheless. And it remained virtually unchanged for almost a decade.
Until last week. Relationships in FileMaker Pro 7 are always bidirectional and they reach as far as you want them to. If invoices are related to line items, line items to products, and products to companies, a portal in the INVOICES file can display the company name for each product in each line item, and you won't have to create a single calculation field. And in FileMaker Pro 7, you can, in one file, define relationships between tables in another file, even if the tables are not related in the file in which they are stored.
Moreover, tables can now be related in scores of new ways. In FileMaker Pro 6 and earlier, relationships always involved a simple match between data in a field in one file and corresponding data in a field in another file. In FileMaker Pro 7, however, you can define relationships with a variety of operators and multiple match fields. Before, we had to create complex calculation fields to achieve results that can now be achieved entirely by means of relationships.
One of the quirkiest things about FileMaker Pro versions 3 through 6 was that a program with a solid graphical interface used a text-based dialog to define relationships. For crying out loud, even Microsoft Access defined relationships graphically! In FileMaker Pro 7, relationships are defined in a special dialog called the relationship graph. You place instances or "occurrences" of the various tables on the graph, and relate them by drawing lines between them.
In some technical ways, FileMaker Pro's implementation of relationality is still idiosyncratic. We used to have to create redundant relationships to sort data in portals in different ways. We don't have to do that any more, but in FileMaker Pro 7, for various reasons, you may still need or want to relate the same tables more than once. You won't read about this sort of thing in the standard guides to relational design. Even so, those guides are far more relevant to FileMaker Pro 7 than they were to earlier versions. All in all, the new relational model is powerful, flexible and extremely well implemented.
What's Not to Like? Given the ambitious nature of this release, it shouldn't be too surprising that FileMaker Pro 7 has a few blemishes.
The Sort Records and Export Records dialogs, which weren't resizable at all, are now resizable, but only on the right side of the dialog. The field list on the left side of each dialog is still too small to display long field names fully, although, after you move a field from the list on the left side to the list on the right side, you can confirm on the right side that you moved the correct field.
There seems to be a significant problem with fuzzy (badly anti-aliased) text in FileMaker Pro 7 for Windows. This matters even to Mac OS developers, because Windows users make up the lion's share of FileMaker's market.
It looks like the powerful new Let function mentioned above creates variables limited in scope to the calculation in which they are defined. You may still need to use global fields as pseudo-variables, for example, to pass values from one script to another.
Alas, in FileMaker Pro 7, it is still not possible to trigger a script when the user exits a field. This is my one major disappointment with the new release.
Conclusion -- FileMaker Pro has been widely touted as easy to use. This claim has always been a half-truth at best. FileMaker Pro version 6 was and still is a great product. But like playing the guitar, FileMaker Pro is easy only for beginners. Advanced FileMaker developers in the past have spent a lot of their time compensating for FileMaker's limitations. In other words, in the past, if you stuck with FileMaker Pro and extended your skills and knowledge, you reached a point of diminishing returns, where it actually became harder to do things in FileMaker that could be done more easily in development systems that were ostensibly more difficult. Frankly, it was frustrating at times. Most of us stuck with FileMaker Pro because the results were worth the effort. But it wasn't "easy."
For end users and beginning developers, FileMaker Pro 7 is neither much easier nor much harder than it was before, while for developers, it's a bit of both. Many tasks have gotten harder for developers in the short run, because the program is an order of magnitude more complex than it was before. But I am confident that development will become easier in the long run because we won't hit that point of diminishing returns that dogged previous versions. Instead, at that point, we will be able to create more interesting solutions in more efficient, more intelligent, and more satisfying ways. And that's an exciting prospect, both for us and for our clients.
[William Porter is a former classics professor who, in 1998, gave up academic tenure to pursue "other interests," including developing database applications. An Associate Member of the FileMaker Solutions Alliance, Will is currently working on a book about FileMaker Pro 7 for No Starch Press.]
PayBITS: Did Will's review of FileMaker Pro 7 give you the data
you were looking for? Consider sending him a few bucks via PayBITS!
Read more about PayBITS: <http://www.tidbits.com/ paybits/>
by TidBITS Staff <firstname.lastname@example.org>
FileMaker Pro 7 Released -- Readers look at what the new database software offers, and how it differs from previous versions. (6 messages)
Front ends to SQL databases -- The discussions of what's new in FileMaker Pro 7 morphed into the question of whether or not there were graphical front-ends to powerful (but usually difficult) SQL databases. (4 messages)
Synchronization Software? -- The large number of these utilities for the Mac illustrate that effective synchronization is more difficult that one might think. Readers suggest more options and share their experiences. (20 messages)
Non-profit, non-commercial publications and Web sites may reprint or link to articles if full credit is given. Others please contact us. We do not guarantee accuracy of articles. Caveat lector. Publication, product, and company names may be registered trademarks of their companies. TidBITS ISSN 1090-7017.
Previous Issue | Search TidBITS | TidBITS Home Page | Next Issue