TeamAgenda: FileMaker Pro Integration
By Clint Roberts ( croberts@metrotechnologies.com )
RATING: Intermediate
PLATFORM: Macintosh& Windows
VERSION: FileMaker 3/4/5
BONUS FILE: BILLING.FP3, CLIENTS.FP3, CONSULTATIONS.FP3
WEB: http://www.teamsoft.com
Please note before you start: In order to test files with this article, you'll need to download the demo TeamAgenda software. For complete FileMaker Pro integration, you will need to obtain a copy of TeamAgenda Server, TeamAgenda Client, and the FileMaker Pro Templates and Scenarios from <http://www.teamsoft.com/>. You'll probably want to spend a small amount of time just looking around the TeamAgenda software to become familiar with it.
As a FileMaker Pro Developer, I am often haunted with a speci?c dilemma: integrating Scheduling and Contact Management into an existing database solution. Building a good Scheduling solution in FileMaker Pro is possible but potentially cost prohibitive due to the number of programming hours involved.
My interest in bridging the gap between FileMaker Pro databases and Scheduling/Contact Management solutions hit an apex while I was an MIS at a fast-moving Marketing ?rm. Here I had the unenviable task of ?nding a solution that met the following criteria:
1. Integrated with FileMaker Pro
2. Multi-User capable
3. Cross-Platform (Windows and Mac OS)
4. Equal Feature Set for Cross-Platform implementations
5. Robust Feature Set
6. Easy to Use
7. Budget-Conscious
Searching for a solution
My search led me down many paths. Unfortunately three years ago, I found no solution that included native FileMaker Pro Integration for both Windows and Mac OS. Having crossed this off of the list, I was still left with very few options.
I was overjoyed to ?nd FastTrack Schedule by AEC Software, Inc. The feature set and environment was incredible! However, I was rapidly disappointed upon receiving the software to discover that the multi-user feature was Windows speci?c.
Microsoft Exchange was also quickly weeded out due to the horrible Mac OS Outlook Client (which is still currently at version 8.2.1).
Our only Solution seemed to be Lotus Domino/Notes. At the time the versions available were 4.6x and 5.0 betas. After spending $48,000 on hardware and software (1 Domino Server, 25 Lotus Notes Clients, 1 server-side Project Management Notes Application), I began the perilous task of user training. I discovered that a total of about 20 hours of intensive training was required to get users comfortable with the rather cumbersome Notes environment.
Despite what we were told and promised, the Mac OS Notes Client was bug-?lled, always a revision or two behind the Windows Client, and slow. To further the impending disaster, Lotus refused any type of support at all without purchasing incidents or an expensive Support Contract. After purchasing we were then told that there would be no help for installation questions, we would have to contract with a certi?ed Notes professional.
In the end we used the solution because we had to. And it worked, but not the way we envisioned. Replication, the method Notes uses for data syncronization with servers, is a good idea in theory, but in a fast-paced Marketing environment, replication means that everyone is sharing information as current (or as old as) the last time EVERYONE's data was replicated.
Enter TeamAgenda
Imagine my delight when I stumbled across TeamAgenda! In this package I found that TeamAgenda was:
1. Cross-Platform (Windows and Mac OS)
2. Stable
3. Feature-packed
4. Backed by Teamsoft's great Technical Support
5. Web-enabled through a Web CGI
6. Integrated with Palm Pilot (as well as Psion and Newton)
7. Highly Secure through extensive security features
8. Integrated with FileMaker Pro via plug-ins
9. Very cost-conscious
By integrating TeamAgenda with FileMaker Pro, I have been able to: eliminate data duplication in two separate programs, generate customized forms Client and Meeting forms, and become much more productive.
But enough about feature comparisons and such. How does TeamAgenda work?
Some Notes on Integrating TeamAgenda and FileMaker Pro
Teamsoft, Inc. accomplished integration with FileMaker Pro via the use of two FileMaker Pro plug-ins.
Every FileMaker Pro Client requiring integration with TeamAgenda needs a copy of the TeamAgenda Client plug-in placed in the FileMaker Pro Extensions folder (on Mac OS) or FileMaker Pro's System folder (on WIN).
One designated FileMaker Pro Client will need the TeamAgenda Server plug-in placed in the FileMaker Pro Extensions folder (on Mac OS) or FileMaker Pro's System folder (on WIN). It is better if this machine is dedicated to this task for performance reasons.
Don't worry though. You are not charged per TeamAgenda plug-in that you use. There is only one fee that you pay to enable the TeamAgenda Server to interact with FileMaker Pro. You may use as many of the TeamAgenda Client plug-in as necessary.
The TeamAgenda Client plug-in sends data back and forth from your TeamAgenda Agenda ?le and the FileMaker Pro Database you are working with. It also sends data to the TeamAgenda Server as necessary.
The TeamAgenda Server plug-in sends data back and forth from your TeamAgenda Server and the FileMaker Pro Database you are working with.
Author's Note: I do not recommend using the same server to run the TeamAgenda Server and the TeamAgenda Server plug-in, especially on the Mac OS. Frankly, the Mac OS as a server is not as robust as Windows NT. Don't get me wrong, I love Mac OS, and I can't wait for Mac OS X to out perform NT, but alas, we're still pre-Mac OS X and if you want the best performance out of this solution, I recommend the following:
Mac OS:
1. Dedicated FileMaker Pro 3.0 or 5.0 Server.
2. Dedicated TeamAgenda Server.
3. Dedicated Machine with FileMaker Pro Client and the TeamAgenda Server plug-in.
Windows:
1. Dedicated FileMaker Pro 3.0 or 5.0 Server.
2. TeamAgenda Server with FileMaker Pro Client and the TeamAgenda Server plug-in.
Let's get started
In order to test the TeamAgenda - FileMaker Pro integration, you will need to obtain a copy of TeamAgenda Server, TeamAgenda Client, and the FileMaker Pro Templates and Scenarios from http://www.teamsoft.com/.
After you have downloaded the necessary installer, follow the included Installation Instructions and then you may continue with the included sample ?les.
For this article, discard (or move) all folders contained in the FileMaker Pro Templates and Scenarios download, with the exception of the Small Business Scenario folder. It is advisable that you discard the three FileMaker Pro templates in this folder. This will prevent any incorrect relationship links between my ?les and Teamsoft, Inc.'s. Retain the compressed, downloaded ?les from Teamsoft, Inc. for your reference.
To illustrate the power of this solution, I have included three technique ?les: Clients.FP3, Consultations.FP3, and Billing.FP3. These are modi?cations of the Teamsoft, Inc. ?les for purposes of demonstration. These ?les may be easily updated to FileMaker Pro 5's ?le format by dragging the three database icons on top of the FileMaker Pro 5 icon. Or, you can open the ?les one by one from within FileMaker Pro 5.
The Clients.FP3 and Consultations.FP3 ?les are integral to the TeamAgenda - FileMaker Pro integration. The Billing.fp3 ?le illustrates how functionality can be extended to other ?les in your database solution.
Whereas data is transferred between TeamAgenda and FileMaker Pro via the Contact ID, the Clients.FP3 is really the heart of the solution. This ?le should be opened ?rst within FileMaker Pro. However, if you open Consultations.FP3 or Billings.FP3, when necessary Clients.FP3 will open.
Data is transferred using the Contact ID (UID[TA] in the technique ?les). Therefore, in order for this solution to work, a FileMaker Pro contact must ?rst be added to TeamAgenda. Once added, the Contact shows in the TeamAgenda Address Book with a little FileMaker Pro icon next to it. This way you can easily recognize the origin of the Contact.
It is very signi?cant that the UID[TA] is used as the identi?er ?eld. Contacts that are added to TeamAgenda directly, but not to FileMaker Pro ?rst and then Added to TeamAgenda, may not be integrated.
The impact of this limitation may be kept minimal by establishing a policy in your organization that enforces that new Clients or Contacts are always added ?rst to your FileMaker Pro database and from there added, as necessary, to the TeamAgenda Address Book. This makes good sense whereas your Database Solution should be the heart of your information technology structure.
Setting the Plug-In Preferences
It is important that these databases be opened in a FileMaker Pro client for the ?rst time. We will set some important preferences held by Global ?elds which will not be preserved if you open these databases Hosted by FileMaker Pro server. You may choose to serve these ?les by the FileMaker Pro Server after we have set these values.
Using the FileMaker Pro Server to host these databases is not necessary. Ensure that you are using the TeamAgenda Server plug-in on the machine you will be testing the non-Hosted databases on.
Whenever Clients.FP3 opens, it asks if you want to connect to the TeamAgenda Server. Normally you will choose "OK". However, the ?rst time you use these ?les you will need to ?rst con?gure them to see your TeamAgenda Server. Click Cancel. Note that the Connection Status indicates that you have not Connected successfully to the TeamAgenda Server. This is expected because you clicked Cancel earlier.
TeamAgenda keeps track of which Database it should interact with via a Database ID. This ID may be any numeric value that you choose. This ID is also entered into the TeamAgenda Server under the "TA-Server" menu, "Con?gure FileMaker Pro " submenu.
Next, click on the Set Connection button. You will be prompted with a plug-in window where you will select the appropriate Network Protocol. Enter your TeamAgenda Server IP Address, Port Number, whether you want the plug-in to Auto-update contact information, and whether you want the plug-in to use Windows compatible scripts.
TeamAgenda's default port is 605. If you leave this ?eld blank, Port 605 will automatically be used. You would only want to change this Port number if your network administrator instructs you to do so. It is important to have the same Port number set in the TeamAgenda Server and in the Client.FP3 database.
The Synchronize Contacts button is used to send all contacts in the Clients.FP3 database to TeamAgenda. This option may only be used after you quit FileMaker Pro and reopen it in order for all of the settings to take place.
Think carefully before you chose this option. You might not want ALL contacts to appear in the TeamAgenda Address Book. Larger companies tend to have a few thousand contacts in their database. Do you really want all of these in TeamAgenda?
Quit FileMaker Pro and we will begin our tour of the technique ?les.
Clients.FP3 Database
Before launching the Clients.FP3 database, do the following:
1. Ensure that your TeamAgenda Server is running and has a valid Team File open. I suggest that you use Teamsoft, Inc.'s Business.tdb ?le as your Team File. Note the TeamAgenda Server's TCP/IP Address.
2. Open your TeamAgenda Client, open your Agenda File, and connect to the Team. I suggest that you use Teamsoft, Inc.'s Manager.ta ?le as your Agenda File.
After doing the above you may open the Clients.FP3 database I have provided. You will be asked if you want to connect to the TeamAgenda Server. Click "OK". If there is an error, the Result[TA] ?le will indicate, "Err-Unable to connect at this time." If this is the case, go back to the Setting the Plug-In Preferences section above and verify all of your settings. Particularly, ensure that the Database ID has been set correctly in the Clients.FP3 database and in the TeamAgenda Server and that you have enabled the right protocol in the TeamAgenda Server.
If you are running the TeamAgenda Server and Client.fp3 database on the same machine, use 127.0.0.1 in the plug-in settings. This Universal IP address instructs TCP/IP to look for the TeamAgenda Server on the same machine.
If you have successfully connected to the TeamAgenda Server, click on the Entry button and populate some sample data.
Once you have entered some sample contacts, click the Add to TA button. Viola! The contact is automatically added to the TeamAgenda Address Book. Please note that the contact is added to the Team's Address Book and not your Personal Address Book. Ensure that you are looking at the Team's Address Book (click on the ?rst icon in the Address Book toolbar). Also, ensure that you have chosen to view All Contacts.
If you double-click on this contact, you will be popped to the contact in Clients.FP3 database. Here you may make any necessary changes to this contact's data.
Go ahead and schedule your FileMaker Pro contact in a meeting. You may do this by dragging the FileMaker Pro contact from the Address Book in TeamAgenda to your Agenda. Now go to the Consultations.FP3 database and see what happened. A record of the scheduled meeting is automatically created! This is best viewed by clicking on the Entry button.
Go ahead and reschedule or delete the meeting in TeamAgenda and you will notice that the Meeting record in Consultations.FP3 is automatically updated. Additionally, Deleting, Canceling or Completing a Meeting will result in the appropriate Meeting Status box being tagged.
Consultations.FP3
You have control of some aspects of your Consultations.FP3 database. You can choose to have one record for each Meeting in which modi?cations overwrite the data held in that record. Or, for reporting or historical data purposes, you may choose for each modi?cation to be contained in a new record.
To change this setting, click on the Preferences button in the Consultations.FP3 database. Go ahead and create reports until your heart is content. Imagine how useful a report showing Cancellations by Client could be.
Billings.fp3
If you bill per hour, you may copy the Consultations.FP3 record to the Billing.FP3 ?le by clicking on the Copy to Bill button. You can add Project and Billing Information to each Consultations.FP3 record imported.
With clever calculation ?eld creation and reporting, you can then report on revenue lost due to cancellations, modi?cations, and reschedules.
Conclusion
We began this article looking at the problem often faced by FileMaker Pro developers: ?nding an integrated Scheduling and Contact Management solution. After weeding out expensive yet non-cross platform solutions, we landed at Teamsoft, Inc.'s TeamAgenda.
If you have followed this article, set up TeamAgenda, and performed the tasks as described above, you now have a good beginning idea of power of this integration. In fact, you may decide to take the jump and add TeamAgenda to your developer arsenal bag and with good reason!
However, we developers also know the limitations of any solution. An inexperienced developer assumes that any one solution can solve every problem. A more seasoned developer, realizes that despite the power and extensibility of any one solution, it may not ?t a Client's speci?c needs.
Likewise, despite TeamAgenda's strengths, TeamAgenda is not for everyone. Currently the ?rst incarnation of FileMaker Pro plug-in uses a Contact ID to transfer data. If a Client would prefer to use a Project ID to transfer data, this solution might not work well for them.
Also, if a Client needs exact ?eld by ?eld integration with their Palm Pilots, this solution would not be suitable. Not all ?elds contained in the Palm Pilot map to TeamAgenda. Of course this might be turned into a non-issue by integrating Palm Pilots directly with FileMaker Pro. I should note that despite this limitation, synchronization between TeamAgenda and Palm Pilots is seemless. After adding and con?guring the Palm Conduit ?les, synchronization is as simple as placing your Palm Pilot in its cradle and hitting the HotSync button.
The good news is that integrating TeamAgenda and FileMaker Pro is as easy as what you have seen above. In fact, you can use these technique ?les as a good starting point to construct your own integrated database system. By far, this is the easiest way to accomplish this integration.
For the more daring heart, integration from scratch is not too dif?cult. This may be best accomplished by studying my ?les and duplicating the necessary Fields, Relationships and Scripts. Take a look at the "TAFM Integration Manual.pdf" documentation included in the FileMaker Pro Templates and Scenarios download.
For those of you who are as entraced as I am with the TeamAgenda solution, I encourage you to be creative! Experiment with what you can accomplish with this type of integration. I can see some incredibly suave Time Cards solution being cranked out by one of you in the near future.
Happy FileMaking!
Clint Roberts is a Senior Developer for Metro Technologies <http://www.metrotechnologies.com>, a leading provider specializing in custom FileMaker Pro solutions. Clint has substantial FileMaker and IT/Networking experience and has a Master of Arts in Education, successfully completed various Master's-level education and management courses.