Need help understanding SeedCodeComplete table structure

Support for our integrated Contact Manager, Calendar, and Project Tracker.
Posts: 2
Joined: Thu Oct 25, 2007 7:31 am
PostPosted: Thu Oct 25, 2007 7:48 am
I am customizing SeedCodeComplete for one of my clients using FM9. This is my first FM 9 work after a lot of work in 6 and 8. I am puzzled about at least two things related to the tables.

1. There are tables that don't show up in the File - Manage - Database - Tables list. One example is ContactActivity. I can see it in the Relationships diagram and via Layout Setup - Show Records From: but not in Manage ...

2. I imported data into the ContactActivity from the client's previous Contact Manager (Act!) and it appears to be showing up in the Appointments table. I don't how this is possible since Appointments doesn't seem to be joined to any thing except ApptType.

I suspect there is some aliasing or SQL View -like behavior going on, but I don't understand FM 9, or perhaps FM in general, to understand.

Please help!

Thanks a lot,

Doug MacGregor
SeedCode Staff
SeedCode Staff
Posts: 2764
Joined: Thu Nov 20, 2003 11:01 am
PostPosted: Thu Oct 25, 2007 9:11 am
Great question Doug.

You're describing the difference between a "table" in FileMaker Pro (something like "Appointments" that shows up in the tables panel of Manage Database) and a "table occurrence" that shows up on the graph (there you'll see many more objects including "ContactActivity").

The idea here is that every instance of a table on the graph is an "occurrence" of that table (a "table occurrence" or abbreviated as "TO"). So while you may have FileMaker solutions where each table appears on the graph just once -- and where that TO has the same name as its table -- many solutions will have multiple instances of the same table on the graph and each of these instances, these TOs, will have a different name.

So if you find "Contact Activity" on the graph and roll your mouse pointer over the little arrow to the left of the "C" in "Contact" FileMaker will reveal the table which that table occurrence is based on. "ContactActivity" is based on "Appointments" (it is an "instance" of "Appointments") and that is why importing into ContactActivity worked for you (and you could have imported into ANY instance of Appointments).

We've color coded the graph so that all instances of the same table have the same color, but you can use another cool feature of the graph to show the same thing: click on any table occurrence so it gets that orange highlight and then click the little tool to the left of the 100% tool in the bottom edge of the graph. Choose "Select tables with the same source table" and you'll have all the other instances of "Appointments" highlighted.

This is obviously a big topic, but just a couple other things to keep in mind. Layouts are based on Table Occurrences, not tables even though in casual conversation you'll often hear someone say a layout shows records from X table: that may be the source table for the table occurrence the layout is based on, but the layout is based to a specific occurrence of that table and any portals on that layout get their context from the position of that layout's TO on the graph. You'll also find things like value lists and calculations get their context from TOs not tables.

Context is everything in these newer versions of FileMaker. =)

So then you have to ask why use so many table occurrences when you could probably construct a graph with fewer items: and there are certainly a lot of different ways to set up the graph. We've chosen a loose interpretation of a strategy know as "anchor-buoy" to help developers keep their context straight when they're working in layouts and in calcs. You can find some more information about this strategy here along with FileMaker's take on it.

Hope that helps.
John Sindelar
SeedCode
Posts: 2
Joined: Thu Oct 25, 2007 7:31 am
PostPosted: Fri Oct 26, 2007 10:57 am
Thanks for the very informative answer. I'll have a second look and read up on your strategy reference. Hopefully I can figure things out from here now that my eyes have opened to this capability of FileMaker.

Return to SeedCode Calendar

Who is online

Users browsing this forum: No registered users and 1 guest

cron
(855) SEEDCODE
[email protected]
Follow us: