The Relationships Graph in FileMaker is a nice answer to developers who clamored for years for a visual representation of relationships in FileMaker systems. But for large or complex systems, with many table occurrences, the Graph has the potential to be a bit unwieldy. Table occurrences in the Graph take up a fair amount of space, and it can be difficult to organize the occurrences without creating a web of overlapping relationship lines.
You can use a number of tools for Graph management. For one thing, the small "windowshade" icon at the upper right of a table occurrence can be used to hide the fields in the table occurrence, leaving only the match fields used in relationships. This can save valuable space. If you like to work from the keyboard, (-T) [Ctrl+T] will cycle through the various table occurrence display states (fully open, key fields only, fully closed). If you use (-A) [Ctrl+A] to select all objects in the Graph, you can windowshade your entire Graph with a few keystrokes. Figure 7.33 shows a Relationships Graph in windowshade mode.
Figure 7.33. Individual table occurrences can be made into "windowshades" that display only the match fields that participate in relationships.
You can also resize an individual table occurrence manually to save space. This, again, needs to be done one table occurrence at a time. It's also possible to zoom out from the Graph as a whole and view it at 75% or 50% of regular size, or smaller.
It might also be useful to you to organize your table occurrences into logical groups of some kind within the Relationships Graph. Let's say you're working on a trucking module with four table occurrences, and you also have a file reference to an external user-management module and you've used that to bring a number of user-oriented table occurrences into the Graph. FileMaker enables you to color-code table occurrences in the Graph, so it's possible to give each group of table occurrences its own color.
In FileMaker 7 there was no way to add notes or comments directly to the Graph. The previous version of this book suggested using "dummy" table occurrences to add headers and labels to object groups. In FileMaker 8, you can add notes directly to the Graph. If you drag a rectangle in the Graph while holding (-N) [Ctrl+N], you'll create something like a sticky note. You can choose the color and typeface, and adjust the size and position. Notes appear behind other objects in the Graph.
Figure 7.34 shows a Relationships Graph with table occurrences from both the trucking module and the user module. The trucker tables are colored red here, the user tables are blue, and each group has a "wrapper" of a sort, formed by a note. In addition, in the figure the Graph has been reduced to 75% of its normal size.
Figure 7.34. Use color coding and group naming to help organize the Relationships Graph.
For some more discussion of annotating and documenting your systems, see Chapter 27, "Documenting Your FileMaker Solutions," p. 841.
In addition to notes, FileMaker 8 adds a few other nice enhancements that let you better manage the Graph. Pressing (-Y) [Ctrl+Y] will select all related table occurrences that are one step away from the current table occurrence. Pressing (-U) [Ctrl+U] will select all table occurrences with the same source table as the current table. Finally, you can now use (-D) [Ctrl+D] to duplicate one or more selected table objects, as well as any relationships between them. This last point is a big convenience: You can select a complex group of related table occurrences and duplicate the entire cluster, and its relationships, at once. All of these functions can be performed with the mouse as well, by new buttons that appear in the FileMaker 8 Relationships Graph.
All these techniques can help make your Graph more manageable. Still, if you have a system with a hundred table occurrences, your Graph will be crowded, without question. It's been suggested that offering a list view of relationships as well, in a manner similar to previous versions of FileMaker, would be helpful, and it's possible we may see such a list view in future versions of the product.
Part I: Getting Started with FileMaker 8
Using FileMaker Pro
Defining and Working with Fields
Working with Layouts
Part II: Developing Solutions with FileMaker
Relational Database Design
Working with Multiple Tables
Working with Relationships
Getting Started with Calculations
Getting Started with Scripting
Getting Started with Reporting
Part III: Developer Techniques
Developing for Multiuser Deployment
Advanced Interface Techniques
Advanced Calculation Techniques
Advanced Scripting Techniques
Advanced Portal Techniques
Debugging and Troubleshooting
Converting Systems from Previous Versions of FileMaker Pro
Part IV: Data Integration and Publishing
Importing Data into FileMaker Pro
Exporting Data from FileMaker
Instant Web Publishing
FileMaker and Web Services
Custom Web Publishing
Part V: Deploying a FileMaker Solution
Deploying and Extending FileMaker
FileMaker Server and Server Advanced
Documenting Your FileMaker Solutions